windows 使用脚本 批量将一个文件夹下面 子文件夹下的视频文件拷贝到另一个文件下

如果想要在Windows上使用脚本(比如批处理脚本 .bat)来复制指定文件夹下所有子文件夹中的视频文件到另一个目标文件夹,可以使用以下的批处理脚本示例:

@echo off  
setlocal enabledelayedexpansion  
  
:: 设置源文件夹和目标文件夹的路径  
set "sourceFolder=C:\path\to\source\folder"  
set "targetFolder=C:\path\to\target\folder"  
  
:: 设置你想要复制的视频文件扩展名列表  
set "videoExtensions=.mp4 .avi .mov"  
  
:: 确保目标文件夹存在  
if not exist "%targetFolder%" mkdir "%targetFolder%"  
  
:: 遍历源文件夹下的所有文件和子文件夹  
for /r "%sourceFolder%" %%F in (*) do (  
    :: 提取文件扩展名  
    set "fileExtension=%%~xF"  
      
    :: 检查文件扩展名是否在视频扩展名列表中  
    for %%e in (%videoExtensions%) do (  
        if "!fileExtension!"=="%%~e" (  
            :: 复制文件到目标文件夹  
            echo Copying %%~nxF to %targetFolder% ...  
            copy "%%F" "%targetFolder%\%%~nxF" >nul  
        )  
    )  
)  
  
echo Video files copied successfully.  
pause  
endlocal

注意以下几点:

  1. 将 C:\path\to\source\folder 和 C:\path\to\target\folder 替换为你的实际源文件夹和目标文件夹的路径
  2. 你可以根据需要修改 videoExtensions 变量,添加或删除你想要复制的视频文件扩展名。
  3. for /r 循环会递归地遍历源文件夹及其所有子文件夹中的所有文件。
  4. %%~xF 用于提取文件的扩展名,%%~nxF 用于提取文件名和扩展名。
  5. copy 命令用于复制文件,>nul 用于隐藏任何可能的错误消息。
  6. echo 语句用于在命令提示符中显示正在复制的文件名(可选)。
  7. pause 命令用于在脚本完成后暂停,以便你可以看到“Video files copied successfully.”消息(可选)。

将上述代码保存为 .bat 文件,然后双击运行它,即可开始复制视频文件。

如果你想将源文件夹设置为批处理脚本所在的地址(也就是脚本的当前目录),你可以使用 %~dp0 这个特殊变量。这个变量会展开为批处理文件所在的驱动器和路径。


  
:: 获取脚本所在的目录(不包括脚本文件名本身)  
set "sourceFolder=%~dp0"  
  

如果源文件夹或目标文件夹包含中文字符或中文目录名,Windows 批处理脚本(.bat)通常能够正常处理,因为 Windows 的命令行界面(CMD)支持中文字符。但是,为了确保一切顺利,你需要注意以下几点:

  1. 保存脚本文件的编码:确保你的批处理脚本文件是以 UTF-8 或 ANSI 编码保存的,这取决于你的系统默认编码。通常,使用记事本或其他文本编辑器创建的批处理脚本应该没有问题。
  2. 路径中的空格:如果目录名或文件名中包含空格,确保在引用路径时使用引号,如 "C:\带有空格的目录\文件.txt"
  3. 使用绝对路径:为了避免任何可能的路径解析问题,最好使用绝对路径而不是相对路径。
  4. 避免特殊字符:尽量避免在目录名或文件名中使用特殊字符,如 <>|&*?":;/\ 等,因为它们可能在命令行中有特殊含义。
  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值