Windows批量反引用中的管道

Mea*_*lpa 2 windows shell batch-file

我想看看我如何使用,或者像在Unix shell中那样在windows批处理的后引用中转义管道.假设我有这个:

FOR /F "usebackq delims=" %i IN (`date /t`) DO @set TODAY=%i
echo %TODAY%
Run Code Online (Sandbox Code Playgroud)

这将给我在TODAY变量中的日期.但我想让这个或多个管道工作:

FOR /F "usebackq delims=" %i IN (`date /t | cut -c 1-3`) DO @set TODAY=%i
Run Code Online (Sandbox Code Playgroud)

cmd.exe抱怨这样的错误我觉得我需要一个逃生机制?

| was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)

那么,这可行吗?怎么样?请注意我在PATH中有完整的gnu coreutils和大多数好东西,所以我可以使用cut作为例子.

ixe*_*013 5

转义字符是^.

这是命令,最后set替换echo为使其友好.

FOR /F "usebackq delims=" %i IN (`date /t ^| cut -c 1-3`) DO @echo TODAY=%i
TODAY=18/
Run Code Online (Sandbox Code Playgroud)

(YMMV,我有一个法国语言日期)

date /t
18/02/2013
Run Code Online (Sandbox Code Playgroud)