我正在尝试将所有.mp3
文.wav
件从一个文件夹移动到另一个文件夹,同时保持文件的相对路径相同。
想象一个如下所示的目录结构:
DirA\
subfolder_1\
song.mp3
subfolder_subfolder\
dj.wav
somefile.txt
kittens.jpg
subfolder_2\
txt.png
bass.wav
我想将文件从DirA
into复制DirB
,所以DirB
看起来像:
DirB\
subfolder_1\
song.mp3
subfolder_subfolder\
dj.wav
bass.wav
不应复制任何不包含任何音频文件的文件夹。
我可以为此或类似的东西编写 Python 或 Node.JS 脚本,但我希望只使用 PowerShell 会有一个更简单的解决方案。
robocopy.exe
使用带有通配符列表的内置:/S
将递归,但不会创建空文件夹(无法匹配通配符)。如果取消,Robocopy 可以恢复,并且可以/将跳过以前复制的文件,因此可以使用相同的命令来刷新文件夹树。它还将采用 UNC 路径 (
//server/path
)/MIR
或/purge
可用于删除不再在源中的任何目标文件。robocopy /?
(或docs)获取命令和选项列表。