中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-29 20:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 写的一个脚本总是报错,不知道如何修改了 查看 937 回复 10
楼 主 写的一个脚本总是报错,不知道如何修改了 发表于 2010-04-12 16:26 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
for /f "tokens=1,2 delims=:." %a in ( "%time%" ) do (set /a d=100%%b%%100-10 )

del /s /q /f %temp%\%b%*.tmp

echo %time:~3,1% |find "1" && del /s /q /f %temp%\5*.tmp

for /f "tokens=1,2 delims=:." %a in ( "%time%") do (set /a u=100%b%100-1 )

dir /s /b %temp% >%temp%\list.txt


提示错误:
第一句就有错,用的是xp sp2
c:\>test.bat
此时不应有 time00-10。

谢谢
2 发表于 2010-04-12 16:32 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
批处理脚本?.bat文件?

{%variable|%%variable}
必需。代表可替换的参数。使用 %variable 通过命令提示符执行 for 命令。使用 %%variable 在批处理文件中执行 for 命令。变量要区分大小写,并且必须用 Alpha 值表示,例如,%A、%B 或 %C。
引自:C:\WINDOWS\Help\NTCmds.chm::/for.htm

例如,在批处理中要这样写:
for %%a in (*) do echo.%%a
在命令行窗口内才使用:
for %a in (*) do echo.%a

[ Last edited by Hanyeguxing on 2010-4-12 at 16:35 ]
3 发表于 2010-04-12 16:36 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
thx,试下先

[ Last edited by xue0808 on 2010-4-12 at 16:39 ]
4 发表于 2010-04-12 16:42 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
谢谢很好用
5 发表于 2010-04-12 16:42 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by xue0808 at 2010-4-12 16:26:
for /f "tokens=1,2 delims=:." %a in ( "%time%" ) do (set /a d=100%%b%%100-10 )
del /s /q /f %temp%\%b%*.tmp
echo %time:~3,1% |find "1" && del /s /q /f %temp%\5*.tmp
for /f "tokens=1,2 delims=:." %a in ( "%time%") do (set /a u=100%b%100-1 )
dir /s /b %temp% >%temp%\list.txt
提示错误:
第一句就有错,用的是xp sp2
c:\>test.bat
此时不应有 time00-10。
谢谢


for /f "tokens=1,2 delims=:." %a in ( "%time%" ) do (set /a d=100%%b%%100-10 )
%a写成%%a,set /a d=100%%b%%100-10???
del /s /q /f %temp%\%b%*.tmp
%b%哪来的?
echo %time:~3,1% |find "1" && del /s /q /f %temp%\5*.tmp
for /f "tokens=1,2 delims=:." %a in ( "%time%") do (set /a u=100%b%100-1 )
%%a 写成%%a,set /a u=100%b%100-1 ???
dir /s /b %temp% >%temp%\list.txt


你要写这个批处理是干什么用的呢?
6 发表于 2010-04-12 17:15 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
%b%哪来的? 是当前的分钟

set /a d=100%%b%%100-10??? 是当前的时间有前10分钟
7 发表于 2010-04-12 17:17 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
这些句子都是在坛里找的
8 Re 6 楼 发表于 2010-04-12 19:21 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
当前系统时间是晚上7点04分,你减一个10分钟出来看看?
9 发表于 2010-04-15 14:39 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
Originally posted by HAT at 2010-4-12 19:21:
当前系统时间是晚上7点04分,你减一个10分钟出来看看?



得出的负数,可以用60再修改???

用什么来识别是负数呢???

[ Last edited by xue0808 on 2010-4-15 at 14:43 ]
10 Re 9 楼 发表于 2010-04-15 18:22 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
如果是2011年1月1日凌晨0点01分呢?你准备如何计算?
11 发表于 2010-04-16 09:21 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
我的文件名都是以当前分钟开头的
论坛跳转: