【问题标题】:Win 7: CMD batch file for creating directories based on filenamesWin 7:基于文件名创建目录的 CMD 批处理文件
【发布时间】:2013-02-13 16:18:17
【问题描述】:

我正在 Win7 环境中处理 CMD 行批处理文件,它将根据目录中列出的文件名创建目录。

我正在使用此代码,但创建的输出是部分且不完整的,只有

 setlocal enabledelayedexpansion
 for /r %%i in (*.wav) do (
     set filename1=%%i
     set folder1=!filename1:~4,10!
     mkdir !folder1!
      )

 pause

我已将此脚本作为文本格式的 CMD 文件保存在本地硬盘上的源目录中,尽管它位于子目录中。 目录输出偏断,输出乱码,创建的目录数与文件数不匹配,创建的目录似乎有嵌套。我对此进行了研究,似乎无法找到明确的答案。

【问题讨论】:

  • 请添加一些示例。脚本产生了什么?这与预期结果有何不同?

标签: windows-7 batch-file directory cmd filenames


【解决方案1】:

目前尚不完全清楚您要完成什么。您是否尝试在包含 wav 文件的同一目录中创建一个目录,只是没有 .wav 扩展名?如果是这样,则您缺少一些引号,并且您正在剥离文件名的错误结尾。如果这就是你想要完成的,它实际上可以用一个命令来完成,不需要批处理脚本。在命令提示符下输入:

for /r %I in (*.wav) do mkdir "%~pnI"

当然,如果您仍然希望在批处理脚本中使用它,请使用带有双百分比而不是单百分比的 %%I%%~pnI。请参阅help for 的最后几页,了解%%~pnI 的工作原理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多