cmd - 带有空格和通配符的路径

标签 cmd dos

我有这个循环命令行

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

它保留整个字符串,但一旦我添加通配符,它​​就会破坏路径。总体目标是删除该文件夹中的所有文件夹,而不删除文件夹本身。

注意:这些只是尝试解决此问题时的测试文件夹,真正的文件夹可以命名为任何名称。

最佳答案

我通常使用旧的 DOS 8 字符路径来解决这个问题

  • “文档和设置”为:“docume~1”
  • “程序文件”是“progra~1”
  • “新文件夹”是newfol~1

如果文件夹中有多个相似的名称,则末尾的 ~1 是计数器

new folder = newfol~1
new folder2 = newfol~2
new folderhuppla = newfol~3

关于cmd - 带有空格和通配符的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440613/

相关文章:

string - 为什么 CALL SET 在 CMD Windows 和 .CMD 文件中的工作方式不同?

powershell - 在 DOS 或 Powershell 中获取网络共享的物理路径

java - 通过 Java Tomcat 服务器运行 Windows 命令

operating-system - DOS如何同时执行多个进程?

c - memcpy 什么都不做

Python 的 FTPLib 太慢?

gcc - DOS .COM 文件末尾的额外字节,使用 GCC 编译

java - 为什么当我使用 "mvn -v"时我的电脑中有两个java路径

cmd - 如何在进度条不可见的情况下播放 MP4

qt - 使用 'cmd' 命令的 QProcess 不会导致命令行窗口