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

[文本处理] [已解决]这个bat代码提取创建日期的文件怎么改?

  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p d="请提取文件日期(输入格式:20150501):"
  3. for /f %%i in ("%date%") do (
  4.         set cur_day=%%i
  5. )
  6. cd /d d:\srrb\
  7. for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t *.xls^|findstr /b [0-9]') do (
  8.         if "!cur_day!"=="%%a"  echo f | xcopy "%%d" /y e:\rq\%d%\
  9. )
  10. echo 提取完毕!  
  11. pause
复制代码
谢谢各位老师指导!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 1# 7016427

TOP

回复 21# 7016427


明明已经给了标准格式(2015/05/01),为何总是逼自己乱输入呢

TOP

回复 21# 7016427


在第12行加一句:
echo !d!
结果发出来看看
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

[测试失败]回复 20# gawk
测试输入日期:2015/5/27时,就不行。输入:2015/05/27就行

TOP

回复 18# 7016427
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set /p d="请提取文件日期(输入格式:2015/05/01):"
  4. REM 补零
  5. for /f "tokens=1-3 delims=/" %%i in ("%d%") do (
  6.     set yyyy=%%i
  7.     set mm=10%%j
  8.     set dd=10%%k
  9. )
  10. set d=!yyyy!/!mm:~-2!/!dd:~-2!
  11. cd /d d:\srrb\
  12. for /f "tokens=1-3*" %%a in ('dir /a-d /t *.xls ^| findstr /b [0-9]') do (
  13.     if "%%a"=="!d:~,4!/!d:~5,2!/!d:~8,2!" (
  14.         xcopy /f /y "%%d" "e:\rq\%d%\"
  15.     )
  16. )
  17. echo 提取完毕!  
  18. pause
复制代码
1

评分人数

Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 18# 7016427
更正:
if "%%a"=="!d:~,4!/!d:~5,2!/!d:~8,2!" xcopy /f "%%d" /y e:\rq\%d%\

TOP

【期待高手解决】这个bat代码提取创建日期的文件怎么改?

回复 16# gawk
@echo off&setlocal EnableDelayedExpansion
set /p d="请提取文件日期(输入格式:2015/05/01):"
cd /d d:\srrb\
for /f "tokens=1-3*" %%a in ('dir /a:%-d% /t *.xls^|findstr /b [0-9]') do (
        if "%%a"=="!d:~,4!-!d:~5,2!-!d:~8,2!" xcopy /f "%%d" /y e:\rq\%d%\
)
echo 提取完毕!  
pause
以上在win7系统测试成功!但是,月份、号数怎样补零(补为两位数,如:输入日期为:2015/5/7,自动月、日补为两位数(2015/05/07

TOP

回复 16# gawk
我在win7测试显示:2015/05/26  周二

TOP

回复 15# 7016427


这个跟Win7/XP关系不大。
即使是两个都是Win7,即使是两个都是XP,日期格式也可能不同。

你需要先确认两个系统执行以下命令得到的输出格式分别怎样的:
echo %date%
dir /t *.xls
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 13# yangfengoo
我把日期输成:“2015-5-24”就不行,最好这种格式如何改?我是拷贝在win7机上执行的。

TOP

回复 13# yangfengoo
我家是xp系统。

TOP

win7 32测试没问题

TOP

回复 10# yangfengoo
最后输入日期格式2015-5-23怎么改?

TOP

回复 10# yangfengoo
不好意思,我忘记改成xls了。请教老师win7系统这个行不?

TOP

返回列表