批处理:" usebackq"此时并未预料到

时间:2016-12-09 12:09:10

标签: windows batch-file cmd

我有这段代码:

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语句是新的。有人可以帮忙吗?

2 个答案:

答案 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"