Windows批量反引用中的管道

时间:2013-02-19 03:56:00

标签: windows shell batch-file

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

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

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

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

cmd.exe抱怨错误,我认为我需要一个逃生机制?<​​/ p>

| was unexpected at this time.

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

1 个答案:

答案 0 :(得分:5)

转义字符为^

这是命令,最后用set替换echo以使其更友好。

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

(YMMV,我有一个日期的法语区域设置)

date /t
18/02/2013