我试图删除所有包含当前目录的路径,所以我这样做了
my_command | sed "s/%CD%//ig"
在命令提示符中,但它不起作用——一切都和以前一样。
我该如何让它工作呢?
答案1
您的命令的问题在于反斜杠被视为转义字符,而不是文字反斜杠。
您可以通过将转义的目录名称存储在辅助变量中来解决这个问题%dir%
:
for /f "tokens=*" %a in ('echo %cd%^| sed "s/\\/\\\\/g"') do set dir=%a
(如果在批处理文件中使用,请将每个替换%a
为%%a
。)
您现在可以sed
照常使用:
my_command | sed "s/%dir%//ig"