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

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

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

TOP

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

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

【补充说明】根据日期提取文件的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

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

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

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

TOP

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

[补充]回复 1# 7016427

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

TOP

返回列表