繁体   English   中英

批处理命令基于文件名创建文件夹并将文件/文件夹移动到创建的文件夹

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM