我有这个命令行for loop
for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\*") do rmdir %f
它似乎是正确的,但即使使用双引号也会打破路径。我已经尝试使用十六进制等效(0x22),但也没有帮助。还有另一种方法来处理带有空格的路径吗?
如果我只是尝试
for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\New Folder") do rmdir %f
它保留整个字符串,但是一旦我添加了通配符,它就会打破路径。总体目标是删除此文件夹中的所有文件夹而不删除文件夹本身。
注意:在尝试解决此问题时,这些只是测试文件夹,真正的文件夹可以命名为任何内容。
答案 0 :(得分:1)
我通常使用旧的DOS 8字符路径来解决这个问题
如果文件夹中有多个相似的名字,那么最后的〜1是一个计数器
new folder = newfol~1
new folder2 = newfol~2
new folderhuppla = newfol~3
答案 1 :(得分:1)
双引号rmdir参数。在批处理文件中使用时,还要加倍%。
for /d %f in ("C:\Documents and Settings\Moi\Desktop\New Folder\*") do rmdir "%f"