And*_*ock 57 windows cmd batch-file
我该如何修改:
for /f %%a IN ('dir /b /s build\release\*.dll') do echo "%%a"
Run Code Online (Sandbox Code Playgroud)
当路径包含空格时工作?
例如,如果从中运行
c:\my folder with spaces
Run Code Online (Sandbox Code Playgroud)
它会回应:
c:\my
Run Code Online (Sandbox Code Playgroud)
谢谢
Jan*_*yka 83
你需要使用:
for /f "delims=" %%a IN ('dir /b /s build\release\*.dll') do echo "%%a"
这将覆盖默认分隔符,即TAB和SPACE
Jas*_*son 30
我通过在"IN"子句中添加"type"并在路径周围放置双引号来解决这个问题
FOR /F %%A IN ('type "c:\A Path With Spaces\A File.txt"') DO (
ECHO %%A
)
Run Code Online (Sandbox Code Playgroud)
本文给了我在IN子句中使用"type"的想法.
小智 6
如果您不想处理"引号",可以使用%~dpnx []中的"s"开关...这将输出易于使用的短文件名.
从命令行......
for /f "delims=" %f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %~sdpnxf
Run Code Online (Sandbox Code Playgroud)
在.CMD/.BAT文件中你需要"逃避"[%],例如,双倍[%%]
for /f "delims=" %%f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %%~sdpnxf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68863 次 |
| 最近记录: |