![](/img/trans.png)
[英]Batch Create a Folder Based on Filename, and Move Multiple Related Files to The Created Folder
[英]Batch command to create folder based on filename and move files/folders to created folder
基本上我想做的是从文件名创建一个文件夹,这样做:
for %%i in (*.png) do mkdir "%%~ni"
创建文件夹后,我想将一个文件夹移到这个新文件夹中。
move "other_folder" %%~ni
只是扩展要由DO
执行的部分:
for %%i in (*.png) do (
mkdir "%%~ni"
convert "%%i" --folder="%%ni\test.bmp"
)
(不确定,您的convert
命令如何工作-以上只是猜测)
根据您的标题请求,波纹管脚本将在目录中创建一个以每个*.png
命名的文件夹,然后将匹配文件移至新创建的文件中。
批量:
for %%i in (*.png) do (mkdir "%%~ni" && move %%i %%~ni)
命令提示符:
for %i in (*.png) do (mkdir "%~ni" && move %i %~ni)
根据您现在完全更改的问题:
如果工作目录中只有一个.png
文件,则只需在命令提示符下一行即可完成该操作:
For %A In ("*.png") Do RoboCopy "other_folder" "%~nA" /E /MOVE >Nul
但是,如果考虑一下,一旦other_folder
第一次被移动,就不再可以再次移动它了! 因此,您将需要复制它,然后在处理other_folder
所有.png
文件之后,删除other_folder
。
在命令提示符处:( 两个不同的命令,第一个副本,第二个删除)
For %A In ("*.png") Do RoboCopy "other_folder" "%~nA" /E > Nul
RD /S /Q "other_folder"
同样从批处理文件中:
@For %%A In ("*.png") Do @RoboCopy "other_folder" "%%~nA" /E > Nul
@RD /S /Q "other_folder"
只要考虑到如果出了什么问题(例如, other_folder
所有内容都不会复制),并且删除了other_folder
,您就会丢失该内容。
谢谢大家我能弄清楚
for %%i in (*.png) do mkdir "%%~ni" && move "folder" "%%~ni"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.