遍历目录结构并将具有特定扩展名的文件向上移动一级
Walk through directory structure and move files with certain extensions up one level
我尝试递归遍历文件夹并将一些文件向上移动一级。如 PDF 和 DOC。
文件夹结构为:
文件夹 1 -> 文件夹 2-> 文件夹 3 -> 文件夹(doc)-> *.doc, 文件夹(mp3)-> *.mp3.
我需要这样改:
文件夹 1 -> 文件夹 2-> 文件夹 3 -> 文件夹(doc), *.doc, 文件夹(mp3), *.mp3.
所以我有很多这样的文件夹。手动执行此操作是不可能的。
我试过制作脚本:
v1.0
For /R %%G in (*.doc,*.mp3) do move %%G ../
v1.1
For /R %%G in (*.doc,*.mp3) do move %%~nxG ../
v1.2
For /R %%G in (*.doc,*.mp3) do (
set B=%%~nxG
move %%B ../
但是没有用。
我做错了什么?
如果我手动执行此操作:
CD文件夹1
CD 文件夹 2
CD 文件夹 3
光盘文件夹(doc)
移动 *.doc ../
成功了!
如有任何建议,我将不胜感激!
For /R %%G in (*.doc,*.mp3) do move "%%G" "%%~PG.."
请注意,您的 ..
引用指定 当前 目录 的父级,而不是每个文件的父级! for /R
命令 不会 更改当前目录。
我尝试递归遍历文件夹并将一些文件向上移动一级。如 PDF 和 DOC。 文件夹结构为: 文件夹 1 -> 文件夹 2-> 文件夹 3 -> 文件夹(doc)-> *.doc, 文件夹(mp3)-> *.mp3.
我需要这样改: 文件夹 1 -> 文件夹 2-> 文件夹 3 -> 文件夹(doc), *.doc, 文件夹(mp3), *.mp3.
所以我有很多这样的文件夹。手动执行此操作是不可能的。
我试过制作脚本: v1.0
For /R %%G in (*.doc,*.mp3) do move %%G ../
v1.1
For /R %%G in (*.doc,*.mp3) do move %%~nxG ../
v1.2
For /R %%G in (*.doc,*.mp3) do (
set B=%%~nxG
move %%B ../
但是没有用。 我做错了什么?
如果我手动执行此操作:
CD文件夹1
CD 文件夹 2
CD 文件夹 3
光盘文件夹(doc)
移动 *.doc ../
成功了!
如有任何建议,我将不胜感激!
For /R %%G in (*.doc,*.mp3) do move "%%G" "%%~PG.."
请注意,您的 ..
引用指定 当前 目录 的父级,而不是每个文件的父级! for /R
命令 不会 更改当前目录。