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

时间:2018-07-13 15:01:08

标签: windows batch-file cmd

基本上,我要从文件名创建一个文件夹,这样做:

View2ViewModel

创建文件夹后,我想将一个文件夹移到这个新文件夹中。

IDataService

4 个答案:

答案 0 :(得分:1)

只需扩展要由DO执行的部分:

for %%i in (*.png) do (
  mkdir "%%~ni"
  convert "%%i" --folder="%%ni\test.bmp"
)

(不确定convert命令的工作方式-以上只是猜测)

答案 1 :(得分:1)

根据您的标题请求,波纹管脚本将在目录中创建一个以每个*.png命名的文件夹,然后将匹配文件移动到新创建的文件中。

批次:

for %%i in (*.png) do (mkdir "%%~ni" && move %%i %%~ni)

命令提示符:

for %i in (*.png) do (mkdir "%~ni" && move %i %~ni)

答案 2 :(得分:1)

根据您现在完全更改的问题:

如果工作目录中只有一个.png文件,则只需在命令提示符下一行即可完成

For %A In ("*.png") Do RoboCopy "other_folder" "%~nA" /E /MOVE >Nul

但是,如果您想一想,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,则说明您丢失了该内容。 / em>

答案 3 :(得分:0)

谢谢大家我能弄清楚

for %%i in (*.png) do mkdir "%%~ni" && move "folder" "%%~ni"