2015-12-13 100 views
0

我希望将文件夹结构中的所有文件移动一步,这是否可以在Windows环境中进行批处理?将所有文件从文件夹移动到它自己的子文件夹

例子:

我有4个文件夹

Folder1/subfolder1/*here are files* 
Folder2/subfolder2/*here are files* 
Folder3/subfolder3/*here are files* 
Folder4/subfolder4/*here are files* 

结果将是:

Folder1/*here are files*/subfolder1/ 
Folder2/*here are files*/subfolder2/ 
Folder3/*here are files*/subfolder3/ 
Folder4/*here are files*/subfolder4/ 

这可能吗?批量?有任何想法吗?谢谢!

回答

0

将这个批处理文件Folder1中,文件夹2,同一水平......

@echo off 

rem For each folder i.e. "Folder1", "Folder2", ... 
for /D %%a in (*) do (

    rem For each subfolder in this folder i.e. "subfolder1" 
    for /D %%b in ("%%a\*") do (

     rem Move the files 
     move "%%b\*.*" "%%a" 

    ) 
) 
0

假设这是在Windows机器上。

,在命令提示符下面的命令将文件从subfolder1移动到Folder1中

C:\Folder1\subfolder1>move *.* ..\ 

更多使用帮助上移动命令,请使用以下命令

C:\Folder1\subfolder1>move /? 

谢谢, 希望这会有所帮助!

+0

像这样的事情,是的!但如何做到超过1个文件夹,而不必输入确切的文件夹路径?谢谢! –

+0

如果您启动/ w“Folder1”,并将每个子文件夹内的所有文件移动到“Folder1”根目录,则最终将移动更多的文件夹并继续移动,直到“Folder1”下的每个文件夹都清空。为了克服这个问题,开始时可以重命名所有文件夹并为标识符加前缀。然后在循环中,如果某个文件夹是其中一个初始文件夹,请将其放入CD中,然后将数据移动到一级。然后cd ..回到“Folder1”。并继续循环。您可以在网上找到批处理脚本教程。这里是wikibooks的一个这样的参考:https://en.wikibooks.org/wiki/Windows_Batch_Scripting –

0

你的问题并不完全清楚。其结果是subfolder1/*here are files*/的子文件夹?什么平台?

如果你只是在谈论移动文件,在Unix上,那么你可以做(​​在bash):

mv Folder1/*/* Folder1 

或者,遍历每个文件夹,你可以这样做:

for f in * 
do 
    mv "$f/*/* $f" 
done 

这将清空其内容的每个subfolderX并将其向上移动一步。

如果您只想移动文件,请查看find命令来过滤文件。

+0

对不起,如果我的问题是模糊的,我在一台Windows机器上,我试图做你在你的第二部分描述发布,批量/ cmd –

相关问题