我正在寻找一个.bat文件,它将子文件夹中的所有文件移动到父文件夹。
例:
C:/games/nintendo/N/gamename/gamename.iso
我想运行一个将该gamename.iso移动到文件夹N的文件:
C:/games/nintendo/N//gamename.iso
非常感谢你的帮助:_)
答案 0 :(得分:0)
使用以下内容创建一个bat文件:
xcopy C:/ games / nintendo / N / gamename C:/ games / nintendo / N / s / e
答案 1 :(得分:0)
set root_folder=C:\games
for /f "tokens=1* delims=" %%G in ('dir %root_folder% /b /o:-n /s ^| findstr /i ".iso" ') do (
move /y "%%G" "%%~dpG..\%%~nxG"
)
更新
以下是解释:
set root_folder=C:\games
- 我们正在设置我们稍后要使用的变量;这是我们要开始扫描的根文件夹
for /f
- 您可以通过在命令提示符中输入for /?
或此LINK
dir %root_folder% /b /o:-n /s
- 我们使用/b
为裸格式列出所有文件/文件夹和子文件夹; /o:-n
降序排序; /s
以递归方式向下走文件夹结构
^| findstr /i ".iso"
- 我们通过|
传递所有信息,然后查找名称中包含.iso
的内容。请注意,必须使用转义字符^
do (
- 对于在此操作中提供输出的每个实例,执行以下操作:
move /y
- 如有必要,移动并覆盖/y
:
%%G
- 字符串,它是标准uptop的输出。
%%~dpG
- d = drive letter
,p = path
..
- 这是当前文件夹
\%%~nxG
- n = filename
,x = extension
表示与输出匹配的文件。
以下是展开的内容(因此将文件复制到C:\games\nintendo\N\
:
move /y "C:\games\nintendo\N\gamename\gamename.iso" "C:\games\nintendo\N\gamename\..\\gamename.iso"