Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Dos命令将所有文件从所有子文件夹移动到一个文件夹_Batch File_Dos - Fatal编程技术网

Batch file Dos命令将所有文件从所有子文件夹移动到一个文件夹

Batch 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文件夹的同一文件夹中的所有文件,以及如何将文件上移一级

我想写两个批处理文件

第一: 将子目录中的所有文件移动到根目录。 例如:

我想将folder1文件夹中的所有文件移动到folder1


第二批文件是 例如:

需要删除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