Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 Win 7:CMD批处理文件,用于根据文件名创建目录_Windows 7_Batch File_Directory_Cmd_Filenames - Fatal编程技术网

Windows 7 Win 7: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文件,

我正在Win7环境中处理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
工作原理的解释,请参见
帮助的最后几页。

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