Batch file 将文本文件拖放到批处理文件中以创建文件夹

Batch file 将文本文件拖放到批处理文件中以创建文件夹,batch-file,Batch File,我有一个使用文本文件创建文件夹的批处理文件。但是我想修改批处理文件,允许拖放任何文本文件来创建文本文件包含的任何文件夹名称 文本文件内容: Folder1 Folder2 Folder3 这就是我现在拥有的,有效的: @echo off for /f "delims=" %%a in (create_folders.txt) do ( mkdir "%%a" ) 这是我将批处理文件修改为的内容,我添加了暂停,以便可以看到错误: @echo off for /f "delims=" %%a

我有一个使用文本文件创建文件夹的批处理文件。但是我想修改批处理文件,允许拖放任何文本文件来创建文本文件包含的任何文件夹名称

文本文件内容:

Folder1 Folder2 Folder3 这就是我现在拥有的,有效的:

@echo off for /f "delims=" %%a in (create_folders.txt) do ( mkdir "%%a" ) 这是我将批处理文件修改为的内容,我添加了暂停,以便可以看到错误:

@echo off for /f "delims=" %%a in ("%~1") do ( mkdir "%%a" ) ECHO. PAUSE 当我将文本文件拖动到修改的批处理文件中时,收到的错误如下:

已存在到文本文件的子目录或文件路径

谢谢你的帮助

for /f "usebackq delims=" %%a in ("%~1") do (
    2>NUL mkdir "%%a"
)
解释如下:

…选项:

usebackq   Use the alternate quoting style:                        
               - Use double quotes for long file names in "filenameset".
               - Use single quotes for 'Text string to process'
               - Use back quotes for `command to process`
有关2>NUL将错误消息重定向到NUL的说明,请阅读

usebackq   Use the alternate quoting style:                        
               - Use double quotes for long file names in "filenameset".
               - Use single quotes for 'Text string to process'
               - Use back quotes for `command to process`