Batch file 将avi向上移动到目录的批处理文件

Batch file 将avi向上移动到目录的批处理文件,batch-file,Batch File,我需要将大量的.avi文件从文件夹中移到一个目录中,每个文件夹都有一个唯一的名称,我在谷歌上搜索了很多脚本,但没有找到任何可行的方法。如果有人能给我一些帮助那就太好了 例如: 主目录 子目录1 文件_1.avi 子目录2 文件2.avi [等等] 我想将子目录中的所有.avi移到主目录中 谢谢 for /d %%f in ("c:\directory\*") do ( if exist "%%~ff\*.avi" echo move "%%~ff\*.avi" "%%~d

我需要将大量的.avi文件从文件夹中移到一个目录中,每个文件夹都有一个唯一的名称,我在谷歌上搜索了很多脚本,但没有找到任何可行的方法。如果有人能给我一些帮助那就太好了

例如:

  • 主目录
    • 子目录1
      • 文件_1.avi
    • 子目录2
      • 文件2.avi
    • [等等]
我想将子目录中的所有.avi移到主目录中

谢谢

for /d %%f in ("c:\directory\*") do (
    if exist "%%~ff\*.avi" echo move "%%~ff\*.avi" "%%~dpf"
)
移动命令列表将回显到控制台。如果正确,请删除
echo
命令

已编辑-包含的代码是为批处理文件使用和便于屏幕读取而编写的。对于命令行的使用,有必要将双百分号替换为单百分号,这样在单行中编写就更容易了

for /d %f in ("c:\directory\*") do @if exist "%~ff\*.avi" @echo move "%~ff\*.avi" "%~dpf"
包含的
@
符号(不必要)用于隐藏命令执行。这样,控制台的唯一输出就是echo命令。与前面的代码一样,如果输出正确,请在不使用
echo
命令的情况下再次运行它以执行移动操作

移动命令列表将回显到控制台。如果正确,请删除
echo
命令

已编辑-包含的代码是为批处理文件使用和便于屏幕读取而编写的。对于命令行的使用,有必要将双百分号替换为单百分号,这样在单行中编写就更容易了

for /d %f in ("c:\directory\*") do @if exist "%~ff\*.avi" @echo move "%~ff\*.avi" "%~dpf"
包含的
@
符号(不必要)用于隐藏命令执行。这样,控制台的唯一输出就是echo命令。与前面的代码一样,如果输出正确,请在不使用
echo
命令的情况下再次运行它以执行移动操作

移动命令列表将回显到控制台。如果正确,请删除
echo
命令

已编辑-包含的代码是为批处理文件使用和便于屏幕读取而编写的。对于命令行的使用,有必要将双百分号替换为单百分号,这样在单行中编写就更容易了

for /d %f in ("c:\directory\*") do @if exist "%~ff\*.avi" @echo move "%~ff\*.avi" "%~dpf"
包含的
@
符号(不必要)用于隐藏命令执行。这样,控制台的唯一输出就是echo命令。与前面的代码一样,如果输出正确,请在不使用
echo
命令的情况下再次运行它以执行移动操作

移动命令列表将回显到控制台。如果正确,请删除
echo
命令

已编辑-包含的代码是为批处理文件使用和便于屏幕读取而编写的。对于命令行的使用,有必要将双百分号替换为单百分号,这样在单行中编写就更容易了

for /d %f in ("c:\directory\*") do @if exist "%~ff\*.avi" @echo move "%~ff\*.avi" "%~dpf"
包含的
@
符号(不必要)用于隐藏命令执行。这样,控制台的唯一输出就是echo命令。与前面的代码一样,如果输出正确,请在不使用
echo
命令的情况下再次运行它以执行移动操作

尝试以下操作:

set root=C:\PathtoMain\Main\
pushd "%root%"

for /r %%a in (*.avi) do (
move "%%~a" "%root%"
)

popd
这应该能解决你的问题

蒙纳。

试试这个:

set root=C:\PathtoMain\Main\
pushd "%root%"

for /r %%a in (*.avi) do (
move "%%~a" "%root%"
)

popd
这应该能解决你的问题

蒙纳。

试试这个:

set root=C:\PathtoMain\Main\
pushd "%root%"

for /r %%a in (*.avi) do (
move "%%~a" "%root%"
)

popd
这应该能解决你的问题

蒙纳。

试试这个:

set root=C:\PathtoMain\Main\
pushd "%root%"

for /r %%a in (*.avi) do (
move "%%~a" "%root%"
)

popd
这应该能解决你的问题


Mona。

我猜他们是通过命令行来完成的。20:1的赔率。有人吗?;)我猜他们是通过命令行来完成的。20:1的赔率。有人吗?;)我猜他们是通过命令行来完成的。20:1的赔率。有人吗?;)我猜他们是通过命令行来完成的。20:1的赔率。有人吗?;)