Batch file Dos命令将所有文件从所有子文件夹移动到一个文件夹
我想写两个批处理文件 第一: 将子目录中的所有文件移动到根目录。 例如: 我想将folder1文件夹中的所有文件移动到folder1Batch file Dos命令将所有文件从所有子文件夹移动到一个文件夹,batch-file,dos,Batch File,Dos,我想写两个批处理文件 第一: 将子目录中的所有文件移动到根目录。 例如: 我想将folder1文件夹中的所有文件移动到folder1 第二批文件是 例如: 需要删除sub-dir中的所有文件,然后将文件从JPEG向上移动一级(例如,移动到folder2),并将其重命名为thumbnail.png 我试着 for /r %%f in (*) do ren "%%f" thumbnail.jpg 重命名所有文件,但不知道如何删除包含jpeg文件夹的同一文件夹中的所有文件,以及如何将文件上移一级
第二批文件是 例如: 需要删除sub-dir中的所有文件,然后将文件从JPEG向上移动一级(例如,移动到folder2),并将其重命名为thumbnail.png 我试着
for /r %%f in (*) do ren "%%f" thumbnail.jpg
重命名所有文件,但不知道如何删除包含jpeg文件夹的同一文件夹中的所有文件,以及如何将文件上移一级
谢谢:我希望这不是很复杂,据我所知,这是你第一个问题的解决方案:
@echo off
setlocal
set root=Folder1
for /f "delims=" %%f in ('dir /ad /b /s %root%') do @move "%%f\*.*" %root%
endlocal
正如我所写的,任何级别的所有文件都会被移动。如果您只想移动第一级子目录文件,那么请删除/s
对于您的第二个问题,请尝试类似的方法,但要使用
dir /a-d /b
列出所有非子目录的条目(即跳过JPEG)。这将允许您构造执行删除的for语句,然后执行另一个执行移动和重命名的语句
您可能需要查看调用一个子例程来执行移动、重命名和删除操作。然后可以操纵文件名来更改名称。我对第二种情况下你到底想做什么有点困惑。如果您不确定如何提取文件名和其他字符串操作,还可以查看set和call命令的帮助
如果您添加评论或编辑您的问题以准确显示您想要的内容,那么我很乐意进一步提供帮助
@echo off
setlocal
set root=Folder1
for /f "delims=" %%f in ('dir /ad /b /s %root%') do @move "%%f\*.*" %root%
endlocal
dir /a-d /b