我有以下内容:
w:\encoded\mp4\movie-1
\title00.mp4
\title01.mp4
\title02.mp4
\movie-2
\title00.mp4
\title01.mp4
\title02.mp4
\title03.mp4
\movie-7
\title00.mp4
\title01.mp4
\cover.jpg
\movie-21
\title00.mp4
\title01.mp4
等等。我想基本上将所有子文件夹及其中的任何文件/文件夹向上移动一级,甚至完全移动到另一个文件夹。
所以它看起来像这样:
w:\encoded\movie-1
\title00.mp4
\title01.mp4
\title02.mp4
\movie-2
\title00.mp4
\title01.mp4
\title02.mp4
\title03.mp4
\movie-7
\title00.mp4
\title01.mp4
\cover.jpg
\movie-21
\title00.mp4
\title01.mp4
任何想法都将不胜感激!
答案1
LotPings是正确的,因为文件夹的 For 循环可以实现这一点。由于您要求将它们上移一个文件夹或可能完全移到另一个文件夹,我使用一些变量对其进行了充实,以便于更改:
@echo off
set "src=W:\encoded\mp4"
set "des=W:\encoded"
for /d %%A in (%src%\*) do (
move "%%A" "%des%"
)
它本质上是相同的 For 循环,但是您有一个用于表示源(src
)目录和目标(des
)目录的变量,以防您想要更改它们。
答案2
您可以使用robocopy
该/E
标志包括空目录,如果您不想包含它们,请使用该/S
标志。
robocopy <source> <destination> /E /MOVE
robocopy w:\encoded\mp4\ w:\encoded\ /E /MOVE