中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 03:53
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]批处理运行显示命令语法不正确
可打印版本  1,522 / 11
第1楼 yuehong 发表于 2008-10-16 09:47
初级用户 发帖 37 积分 64
[已结]批处理运行显示命令语法不正确
http://www.cn-dos.net/forum/viewthread.php?tid=16676

22楼

显示命令语法不正确。使用环境win2000。请高手帮忙解决。谢谢。


原bat内容如下:



[ Last edited by HAT on 2008-10-21 at 21:08 ]
第2楼 HAT 发表于 2008-10-16 09:53
版主 发帖 5,017 积分 9,023
代码保存为test.bat
双击运行
结果贴出来看看
第3楼 yuehong 发表于 2008-10-16 10:10
初级用户 发帖 37 积分 64
D:\t>test

D:\t>setlocal ENABLEEXTENSIONS

D:\t>call :Date2Day 星期四 2008-1 sdays

D:\t>setlocal ENABLEEXTENSIONS

D:\t>for /F "tokens=1-3 delims=/-, " %a in ('echo/星期四') do (set yy=%a & set
mm=%b & set dd=%c )

D:\t>(set yy=星 & set mm= & set dd= )

D:\t>set /a dd=100 %100,mm=100 %100

D:\t>set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2

D:\t>set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633

D:\t>endlocal & set 2008-1=-719560 & goto :EOF

D:\t>set /a sdays-=
找不到操作数。

D:\t>call :Day2Date difdate

D:\t>setlocal ENABLEEXTENSIONS

D:\t>set /a i=difdate,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a

D:\t>set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5


D:\t>set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10

D:\t>(if 1 LSS 10 set mm=01 ) & (if 1 LSS 10 set dd=01 )

D:\t>endlocal & set =1970-01-01 & goto :EOF :: DateDel2.cmd - 删除指定路径下指
定日数以前修改的文件
命令语法不正确。

D:\t>echo 将删除 D:\t 下 前的修改的以下文件:
将删除 D:\t 下 前的修改的以下文件:

D:\t>for /R %f in (*.*) do if "%~tf" LEQ "" echo "%f"

D:\t>if "08-09-03 17:27 " LEQ "" echo "D:\t\rarreg.key"

D:\t>if "08-10-16 09:41 " LEQ "" echo "D:\t\test.bat"

D:\t>pause
请按任意键继续 . . .
第4楼 HAT 发表于 2008-10-16 10:13
版主 发帖 5,017 积分 9,023
Re 3楼
还不明白原因?

参考:批处理标准化获取当前系统日期
http://www.cn-dos.net/forum/viewthread.php?tid=41857
第5楼 yuehong 发表于 2008-10-16 19:59
初级用户 发帖 37 积分 64
C:\Documents and Settings\Adminis
当前日期: 2008-10-16 星期四

我们这里统一的日期格式就是这样,不知道怎么操作?
我是dos菜鸟,希望版主能给个完整的解决方案,谢谢
第6楼 yuehong 发表于 2008-10-20 23:43
初级用户 发帖 37 积分 64
希望那位高手给个完整的代码。我是dos新手。急用。再次求助!!!!
很多xp系统以上能用的简单实用的命令在2000下都不能用。没办法求助各位了。。。
希望hat老大和各位高手看后能帮帮忙

2000 下的时间格式是

当前日期: 2008-10-20 星期一
第7楼 HAT 发表于 2008-10-21 09:59
版主 发帖 5,017 积分 9,023
Re 6楼
第8楼 yuehong 发表于 2008-10-21 13:52
初级用户 发帖 37 积分 64
Originally posted by HAT at 2008-10-21 09:59 AM:
第9楼 HAT 发表于 2008-10-21 15:43
版主 发帖 5,017 积分 9,023
Re 8楼
代码保存为test.bat
双击运行
结果贴出来看看
第10楼 yuehong 发表于 2008-10-21 18:42
初级用户 发帖 37 积分 64
出现:


E:\>rem 演示:删除指定路径下指定天数以前修改的文件

E:\>rem 如果演示结果无误,把del前面的echo去掉,即可实现真正删除

E:\>setlocal enabledelayedexpansion

E:\>rem 指定待删除文件的存放路径

E:\>set SrcDir=C:\Test

E:\>rem 指定天数

E:\>set DayAgo=1

E:\>echo LastDate=date()-1 1>"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyDate.vbs"

E:\>echo FmtDate=right(year(LastDate),4) & right("0" & month(LastDate),2) & righ
t("0" & day(LastDate),2) 1>>"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyDate.vbs"

E:\>echo wscript.echo FmtDate 1>>"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyDate.vbs"


E:\>for /F %a in ('cscript /nologo "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyDate.vb
s"') do (set DateFlag=%a )

E:\>(set DateFlag=20081020 )

E:\>set DateFlag=2008-10-20

E:\>rem set DateFlag=-1/0--2008

E:\>for /R "C:\Test" %a in (*.*) do (
echo
if "%~ta" LEQ "2008-10-20" (echo del /f /q "%a" )
)

E:\>(
echo
if "08-10-10 00:49 " LEQ "2008-10-20" (echo del /f /q "C:\Test\PDF.Creator.Plus
.v4.0.0.8_Crack.rar" )
)

del /f /q "C:\Test\PDF.Creator.Plus.v4.0.0.8_Crack.rar"

E:\>(
echo
if "08-10-10 00:48 " LEQ "2008-10-20" (echo del /f /q "C:\Test\Quick-PDF.PDF.To
.Word.Converter.v1.0-Crack.rar" )
)

del /f /q "C:\Test\Quick-PDF.PDF.To.Word.Converter.v1.0-Crack.rar"

E:\>(
echo
if "08-10-10 00:48 " LEQ "2008-10-20" (echo del /f /q "C:\Test\Quick-PDF.PDF.To
.Word.Converter.v1.0.rar" )
)

del /f /q "C:\Test\Quick-PDF.PDF.To.Word.Converter.v1.0.rar"

E:\>(
echo
if "08-10-16 07:41 " LEQ "2008-10-20" (echo del /f /q "C:\Test\RTX.v3.x.Keymake
r.zip" )
)

del /f /q "C:\Test\RTX.v3.x.Keymaker.zip"

E:\>(
echo
if "08-10-10 01:43 " LEQ "2008-10-20" (echo del /f /q "C:\Test\Solid.Converter.
PDF.v4.0.560.Multilingual.Keygen.and.Patch-BRD.rar" )
)

del /f /q "C:\Test\Solid.Converter.PDF.v4.0.560.Multilingual.Keygen.and.Patch-BR
D.rar"

E:\>pause
请按任意键继续 . . .

[ Last edited by yuehong on 2008-10-21 at 18:45 ]
第11楼 HAT 发表于 2008-10-21 19:36
版主 发帖 5,017 积分 9,023
我说了很多次让你把dir /tc的结果贴出来,不知为何你一直不肯。
如果早点贴出来的话,也不必浪费这么多时间了^_^


[ Last edited by HAT on 2008-10-21 at 19:38 ]
第12楼 yuehong 发表于 2008-10-21 21:04
初级用户 发帖 37 积分 64
测试成功,谢谢HAT的耐心指点!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023