我试图摆脱包含当前目录的所有路径,所以我做了
my_command | sed "s/%CD%//ig"
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,但它不起作用 - 一切都像以前一样。
我将如何使它工作?
您的命令的问题在于反斜杠被视为转义字符,而不是文字反斜杠。
您可以通过将转义目录名称存储在辅助变量中来克服此问题%dir%:
for /f "tokens=*" %a in ('echo %cd%^| sed "s/\\/\\\\/g"') do set dir=%a
Run Code Online (Sandbox Code Playgroud)
(如果在批处理文件中使用,请将每个替换%a为%%a。)
您sed现在可以照常使用:
my_command | sed "s/%dir%//ig"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2232 次 |
| 最近记录: |