我想创建一个批处理文件,它将在我的文件夹中搜索.docx文件,然后为每个文件创建一个单独的目录,然后复制该目录中的每个.docx文件。我的文件夹包含数百个文件,名字很长,家务管理是一场噩梦!
我搜索过并发现了一些代码,可以帮助我为每个.docx文件创建一个新目录。这是链接.." Win 7: CMD batch file for creating directories based on filenames"
仅为文件
创建新目录的代码for %%I in (*.docx) do mkdir "%%~pnI"
但是,如何将文件复制到新创建的目录中?
E.g文件名是20160611150424.docx(其中数字是YYYY MM DD HH MM SS)并使用上面的代码创建一个名为20160611150424的文件。
如何使用批处理文件将此文件复制到此文件夹中?哪个是适当的代码?
非常感谢,
NewLearner
答案 0 :(得分:0)
阅读copy /?
:您可以将文件复制到新创建的目录,将目标指定为文件夹,不带文件名和扩展名,copy
命令将保留它们:< / p>
for %%I in (*.docx) do (
mkdir "%%~pnI" 2>NUL
copy /B "%%~fI" "%%~pnI\"
)
或明确指定具有文件名和扩展名的目标,如下所示:
for %%I in (*.docx) do (
mkdir "%%~pnI" 2>NUL
copy /B "%%~fI" "%%~pnI\%%~nxI"
)
请注意,如果是这种情况,2>NUL
将禁止A subdirectory or file a already exists
命令可能生成的错误消息mkdir
。
资源(必读):
%%~nxI
等特殊页面)Command Line arguments (Parameters) 2>NUL
等特殊页面)Redirection