我有这段代码:
setlocal enableextensions
for "usebackq" %%i in (`dir /b`) do echo * %%i
endlocal
我想要做的很简单:使用*
前缀打印当前目录的内容。像这样:
* .idlerc * .oracle_jre_usage * .swt * Searches * Contacts * Downloads * My Directory * Documents * Desktop * Favorites * Images * Saved Games * Music * 3D Objects
但是,执行时,它说:
"有usebackq"此时没有预料到
我在批处理中使用for语句是新的。有人可以帮忙吗?
答案 0 :(得分:2)
使用FOR /F
并且您不需要在此处使用引号*,因为其中没有空格:
setlocal enableextensions
FOR /F usebackq %%i IN (`DIR /B`) DO ECHO * %%i
endlocal
*保留报价不会造成任何伤害
答案 1 :(得分:1)
我看到你的示例只显示目录条目,没有文件,所以这可能更好。
for /f "delims=" %%i in ('dir /b ') do echo * %%i
如果使用单引号,则不需要"usebackq"