赢7:CMD批处理文件基于文件名创建目录(Win 7: CMD batch file for cre

2019-10-17 18:22发布

我工作在Win7的环境中,将创建基于列在目录中的文件名目录的CMD线批处理文件。

我使用这个代码,但创建的输出是局部和不完整的,只有

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

 pause

我有此脚本保存在源目录中的文本格式的文件CMD,在本地硬盘,虽然它是在一个子目录。 目录输出部分破碎,乱码输出,创造了不匹配的文件的数量目录的数量,而创建的目录似乎窝。 我研究这一点,似乎无法找到一个明确的答案。

Answer 1:

这并不完全清楚它是什么,你要完成。 你们是不是要创建一个包含wav文件,只是没有.WAV扩展名的同一目录下的目录? 如果是这样,你错过了一些引号,你就剥文件名错误的结束了。 如果这是你所要完成的是什么,它实际上可以用一个命令,不需要批处理脚本来完成。 在命令提示符下键入:

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

当然,如果你还是想在一个批处理脚本,使用%%I%%~pnI双百分比,而不是单一的。 看到最后几页help for ,了解如何解释%%~pnI工作。



文章来源: Win 7: CMD batch file for creating directories based on filenames