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


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

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

TOP

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

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

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

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

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

TOP

回复 21# 7016427


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

TOP

回复 21# 7016427


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

TOP

回复 1# 7016427

TOP

返回列表