Windows 7 Win 7:CMD批处理文件,用于根据文件名创建目录
我正在Win7环境中处理CMD行批处理文件,该文件将根据目录中列出的文件名创建目录 我正在使用这段代码,但是创建的输出是部分的,并且不完整,只有Windows 7 Win 7:CMD批处理文件,用于根据文件名创建目录,windows-7,batch-file,directory,cmd,filenames,Windows 7,Batch File,Directory,Cmd,Filenames,我正在Win7环境中处理CMD行批处理文件,该文件将根据目录中列出的文件名创建目录 我正在使用这段代码,但是创建的输出是部分的,并且不完整,只有 setlocal enabledelayedexpansion for /r %%i in (*.wav) do ( set filename1=%%i set folder1=!filename1:~4,10! mkdir !folder1! ) pause 我已将此脚本保存为文本格式的CMD文件,
setlocal enabledelayedexpansion
for /r %%i in (*.wav) do (
set filename1=%%i
set folder1=!filename1:~4,10!
mkdir !folder1!
)
pause
我已将此脚本保存为文本格式的CMD文件,保存在本地硬盘驱动器的源目录中,尽管它位于子目录中。
目录输出不完整,输出混乱,创建的目录数与文件数不匹配,创建的目录似乎嵌套。我已经对此进行了研究,似乎无法找到一个明确的答案。还不完全清楚你想要实现什么。您是否正在尝试在包含wav文件的同一目录中创建一个目录,只是没有.wav扩展名?如果是这样,您将丢失一些引号,并将文件名的错误端去掉。如果您正试图实现这一点,那么实际上只需一个命令即可完成,不需要批处理脚本。在命令提示下键入以下内容:
for /r %I in (*.wav) do mkdir "%~pnI"
当然,如果您仍然希望在批处理脚本中使用它,请将
%%I
和%%~pnI
与双百分比而不是单百分比一起使用。有关%%~pnI
工作原理的解释,请参见帮助的最后几页。请添加一些示例。剧本产生了什么?这与预期结果有何不同?