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

[文本处理] 根据日期提取文件的bat代码怎么修改?

  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p x=W外勤/Z主任:
  3. if /i "%x%"=="w" (set /p d="请输入视频日期,按回车键!(注意日期格式:2015-05-01):"
  4. cd /d h:\DCIM/100MEDIA\
  5. for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t *.mov^|findstr /b [0-9]') do (
  6.         if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!"  echo f | xcopy "%%d" /y e:\视频\外勤\%d%\
  7. )
  8. ) else if /i "%x%"=="z" (set /p d="请输入视频日期,按回车键!(注意日期格式:2015/05/01):"
  9. cd /d h:\DCIM/100MEDIA\
  10. for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t *.mov^|findstr /b [0-9]') do (
  11.         if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!"  echo f | xcopy "%%d" /y e:\视频\主任\%d%\
  12. )
  13. )
  14. IF not EXIST "e:\视频\外勤\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
  15. )   
  16. pause>nul
复制代码
按7楼老师的代码测试,仍然失败!

[补充]请高手瞧瞧、看看,这个bat代码怎么修改

[补充]回复 1# 7016427

执行时,黑屏闪一下就过了,不知哪里错?

TOP

你检查一下 少了 几个 “)”

TOP

[修改]根据日期提取文件的bat代码怎么修改?

[修改]回复 3# terse
你好!我添加了几个括号“)"后,可以执行完,但是没有拷贝到文件。
@echo off&setlocal EnableDelayedExpansion
echo 请选择巡检仪
set /p x=W外勤/Z主任:
if /i "%x%"=="w" (
set /p d="请输入视频日期,按回车键盘:"
for /f "tokens=1-3 delims=/" %%i in ("%d%") do (
    set yyyy=%%i
    set mm=10%%j
    set dd=10%%k
)
set d=!yyyy!-!mm:~-2!-!dd:~-2!
cd /d h:\DCIM/100MEDIA\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
        if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!" (
echo f | xcopy "%%d" /y "e:\视频\外勤\%d%\"
)
)
) else if /i "%x%"=="z" (
set /p d="请输入视频日期,按回车键:"
for /f "tokens=1-3 delims=/" %%i in ("%d%") do (
    set yyyy=%%i
    set mm=10%%j
    set dd=10%%k
)
set d=!yyyy!-!mm:~-2!-!dd:~-2!
cd /d h:\DCIM/100MEDIA\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
        if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!" (
echo f | xcopy "%%d" /y "e:\视频\主任\%d%\"
  )
)
)
IF not EXIST "e:\视频\%x%\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
)   
pause

TOP

你看看  “%%a” 和  "!d:~,4!-!d:~5,2!-!d:~8,2!" 这里格式是否一致

TOP

【补充说明】根据日期提取文件的bat代码怎么修改?

本帖最后由 7016427 于 2015-5-29 18:30 编辑

回复 5# terse
@echo off&setlocal EnableDelayedExpansion
REM 视频mov,照片jpeg,录音wav
set /p d="请输入视频日期,按回车键:"
REM 日期补零
for /f "tokens=1-3 delims=/" %%i in ("%d%") do (
    set yyyy=%%i
    set mm=10%%j
    set dd=10%%k
)
set d=!yyyy!-!mm:~-2!-!dd:~-2!
cd /d h:\DCIM/100MEDIA\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
        if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!" (
echo f | xcopy "%%d" /y "e:\视频\外勤\%d%\"
)
)
IF not EXIST "e:\视频\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
)   
pause
以上执行正常!主要是巡检仪有两个(外勤、主任)要分开存入。因此,主任的要存入:e:\视频\主任\%d%\
补充:实际提取文件路径都是一样的,只是存放的文件夹有点区别,一个放入“外勤”,另一个放入“主任”的区别。我主要想实现选择,判断来达到这个目的。

TOP

本帖最后由 yangfengoo 于 2015-5-29 21:08 编辑
  1. @echo off&setlocal EnableDelayedExpansion
  2. REM 视频mov,照片jpeg,录音wav
  3. set /p x=W外勤/Z主任:
  4. if /i "%x%"==w set #=外勤
  5. if /i "%x%"==z set #=主任
  6. set /p d="请输入视频日期,按回车键:"
  7. REM 日期补零
  8. for /f "tokens=1-3 delims=/" %%i in ("%d%") do (
  9.     set yyyy=%%i
  10.     set mm=10%%j
  11.     set dd=10%%k
  12. )
  13. set d=!yyyy!-!mm:~-2!-!dd:~-2!
  14. cd /d h:\DCIM/100MEDIA\
  15. for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t^|findstr /b [0-9]') do (
  16.         if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!" (
  17. echo f | xcopy "%%d" /y "e:\视频\%#%\%d%\"
  18. )
  19. )
  20. IF not EXIST "e:\视频\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕! )   
  21. pause
复制代码
回复 6# 7016427

TOP

  1. IF not EXIST "e:\视频\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
  2. )   
复制代码
这个判断怎么看怎么有问题,不知道楼主怎么测试的

TOP

【未解决】根据日期提取文件的bat代码怎么修改?

[未解决]回复 7# yangfengoo
你好!测试失败!黑屏闪一下就过了,并没有提取到文件。我输入“w”回车后没有提示输入日期哪一步!

TOP

这个判断怎么看怎么有问题,不知道楼主怎么测试的
yangfengoo 发表于 2015-5-29 20:54

少个 ")"
  1. IF not EXIST "e:\视频\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕! )
复制代码

TOP

回复 9# 7016427


    7楼已修改。

TOP

【测试失败】根据日期提取文件的bat代码怎么修改?

回复 8# yangfengoo
改为:
IF not EXIST "e:\视频\%#%\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
)

TOP

回复 10# terse


    )在下行。

echo f | xcopy "%%d" /y "e:\视频\%#%\%d%\"
怎么会有"e:\视频\%d%"这个路径
IF not EXIST "e:\视频\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕! )   

肯定不成立

TOP

回复 12# 7016427


    还不行?有没有错误提示,发出来

TOP

[测试仍然失败]回复 13# yangfengoo
改为:
IF not EXIST "e:\视频\%#%\%d%" (echo %d%,没有视频提取!) ELSE (echo %d%,提取视频完毕!
)

TOP

返回列表