[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 拷贝监控视频批处理

本帖最后由 zqf1983 于 2022-6-27 13:46 编辑

监控视频路径: D:\监控资源\3-201\26日\08时07分15秒,3-201是教室名,08时07分15秒是生成监控视频的文件夹,其中08时固定,07分15秒不固定,有可能是08分00秒。其它盘E、F、G也有视频文件夹,例如09时08分11秒的在:E\监控资源\3-201\26日\09时08分11秒,文件夹下。需求是想把08时到12时的监控视频拷贝到指定路径下,麻烦高位高手指导下!!!

回复 1# zqf1983


08时07分15秒
9时08分11秒
小时前面有0或没有0不固定是吗?

晚上9点08分11秒的文件夹是不是这样:
21时08分11秒
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher     你好,0是固定有的,01到09, 不好意思没写严谨。

TOP

回复 2# Batcher 晚上09时11分08秒,是21时11分08秒。

TOP

回复 1# zqf1983


    D、E、F、G视频文件夹是否有可能重名呢?比如都叫:08时07分15秒
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# zqf1983


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "DriveList=D E F G"
  4. set "FromFolder=监控资源\3-201\26日"
  5. set "ToFolder=D:\指定文件夹"
  6. if not exist "%ToFolder%" (
  7.     md "%ToFolder%"
  8. )
  9. for %%a in (%DriveList%) do (
  10.     if exist "%%a:\%FromFolder%" (
  11.         pushd "%%a:\%FromFolder%"
  12.         for /f "delims=" %%b in ('dir /b /ad ^| findstr /i /b /c:"08时" /c:"09时" /c:"10时" /c:"11时" /c:"12时"') do (
  13.             xcopy /e /y "%%b" "%ToFolder%\%%a\%%b\"
  14.         )
  15.         popd
  16.     )
  17. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher     不存在重复的文件夹名。太感谢你了,我研究研究代码。

TOP

回复 6# Batcher
  你好!!高手,我需要扩展下两点需求:
1、3-201是指3栋201教室,如二楼有3-201。。。3-205教室,最高五层,最后一个教室是3-505。需要把所有教室的08时至12时监控视频拷到指定文件夹。
2、存放按每个教室的文件夹存放,如:D\指定文件夹\3-201    D\指定文件夹\3-202。。。如此类推。
研究了一天,用for嵌套没搞定,实在没办法又上来请教了。

TOP

@echo off

setlocal enabledelayedexpansion

for /l %%x in (2,1,5) do (

        for /l %%y in (1,1,5) do (


cd /d "%~dp0"
set "DriveList=L M N O P Q R S"
set "FromFolder=监控资源\3-%%x0%%y\2022年06月\26日"
set "ToFolder=D:\指定文件夹"
if not exist "%ToFolder%" (
    md "%ToFolder%"
)
for %%a in (%DriveList%) do (
    if exist "%%a:\%FromFolder%" (
        pushd "%%a:\%FromFolder%"
        for /f "delims=" %%b in ('dir /b /ad ^| findstr /i /b /c:"08时" /c:"09时" /c:"10时" /c:"11时" /c:"12时"') do (
            xcopy /e /y "%%b" "%ToFolder%\3-%%x0%%y\%%b\
        )
        popd
    )

)



    )

)


pause

这是我自己弄的,不成功。

TOP

回复 9# zqf1983
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "DriveList=L M N O P Q R S"
  5. set "ToFolder=D:\指定文件夹"
  6. if not exist "%ToFolder%" (
  7.     md "%ToFolder%"
  8. )
  9. for /l %%x in (2,1,5) do (
  10.     for /l %%y in (1,1,5) do (
  11.         set "FromFolder=监控资源\3-%%x0%%y\2022年06月\26日"
  12.         for %%a in (%DriveList%) do (
  13.             if exist "%%a:\!FromFolder!" (
  14.                 pushd "%%a:\!FromFolder!"
  15.                 for /f "delims=" %%b in ('dir /b /ad ^| findstr /i /b /c:"08时" /c:"09时" /c:"10时" /c:"11时" /c:"12时"') do (
  16.                     xcopy /e /y "%%b" "%ToFolder%\3-%%x0%%y\%%b\
  17.                 )
  18.                 popd
  19.             )
  20.         )
  21.     )
  22. )
  23. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表