中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 22:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » "%~1" "%~0"是什么意思 查看 1,615 回复 12
楼 主 "%~1" "%~0"是什么意思 发表于 2008-10-28 10:26 ·  中国 四川 南充 电信
新手上路
积分 8
发帖 5
注册 2008-10-28 09:52
UID 129316
性别 男
状态 离线
if "%~1"=="" start /min "" "%~0" h&exit
有一个批处理第一句就是这个我看了半天看不懂,
@echo off
for /f "delims=: tokens=1*" %%i in ('time /t') do call :Comp %%i %%j
goto :eof
:Comp
set /a Hour=%1
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 01 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 02 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 03 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 04 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 05 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 06 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 07 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 13 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 14 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 15 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 16 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 17 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 00 (d:\ntsd\shutdown.exe & goto :eof)
if %Hour% equ 23 (d:\ntsd\shutdown.exe & goto :eof)

shutdown.exe是一个关机程序
这里面的能不能简化下,,IF我到现在没找到这样的语名,,大于且小于,,
不然就不会用这个笨方法了
也就4楼说的那样,早上8:00-12:00,晚上18:00-22:00可以运行,其他时间都关机
这个批处理怎么写比较简单!

[ Last edited by zhaoyi on 2008-10-28 at 23:28 ]
2 发表于 2008-10-28 12:11 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
UID 99089
性别 男
状态 离线
了解進程的相關信息 tasklist
會試用findstr 查找相關字符
會試用for簡化程序
要了解%1 %2 %3 %0 等參數所代表的意思
3 发表于 2008-10-28 22:22 ·  中国 四川 南充 电信
新手上路
积分 8
发帖 5
注册 2008-10-28 09:52
UID 129316
性别 男
状态 离线
大哥你能不能给我改改.,我这个也太差了,太繁锁了

[ Last edited by zhaoyi on 2008-10-28 at 22:25 ]
4 发表于 2008-10-28 22:50 ·  中国 广东 深圳 电信
新手上路
坚持学习
积分 18
发帖 15
注册 2008-10-18 10:49
UID 128642
性别 男
状态 离线
不知道楼主这个程序是要干什么呢?早上8:00-12:00,晚上18:00-22:00可以运行,其他时间都关机?
这样的话,用at,或者schtasks限制登录时间就好了啊,莫非有其他意思?
5 发表于 2008-10-28 23:02 ·  中国 四川 南充 电信
新手上路
积分 8
发帖 5
注册 2008-10-28 09:52
UID 129316
性别 男
状态 离线
其实我想说实话,,at,或者schtasks命令不能在登陆帐号以前..根本无法运行..我尝试过N久了都不行...只能用这个办法了,然后把这个批得理加在注册表里,,hklm_system_CurrentControlSet_services里,做成系统服务形式,启机到登陆界面就自己动运行,最主要是防家里孩子过度上网,但IF做出来的效果太长了,,我想应该可简化面成几行.
6 Re 5楼 发表于 2008-10-28 23:11 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
为何不把整个问题的背景和你的完整想法以及问题在顶楼一次性描述清楚呢?
7 发表于 2008-10-28 23:46 ·  中国 广东 深圳 电信
新手上路
坚持学习
积分 18
发帖 15
注册 2008-10-18 10:49
UID 128642
性别 男
状态 离线
那就给他一个限制时间的账户啊

net user new 123 /add
net user new /time:M-Su,08:00-12:00,18:00-22:00

以后让他用new这个账户登录就可以了啊
8 发表于 2008-10-29 00:07 ·  中国 四川 南充 电信
新手上路
积分 8
发帖 5
注册 2008-10-28 09:52
UID 129316
性别 男
状态 离线
楼住这个太过份了吧,,,那以后你老了想做什么,,那儿子就说:"爸!我一定会把你当宾客看待,不是说宾客是上帝吗"呵呵算了看来没人解决,,那就临时用,.
9 Re 8楼 发表于 2008-10-29 10:30 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
多潜水,多看教程。
if %Hour% geq 18 (
if %Hour% leq 22 (
d:\ntsd\shutdown.exe
goto :eof
)
)
10 发表于 2010-04-21 02:11 ·  中国 广东 深圳 电信
初级用户
积分 38
发帖 32
注册 2010-04-07 22:43
UID 164009
性别 男
状态 离线
我是超菜菜鸟
知道什么是%1,但不知道什么是%~1
11 发表于 2010-04-21 11:03 ·  中国 广东 深圳 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
UID 87022
性别 男
状态 离线

if /i %time:~0,2% gtr 10 (


if /i %time:~0,2% lss 14 (
echo 现在时间大于10点且小于14点,将关机
shutdown -f -s -t 100
) else (
echo 时间大于14点,不关机
)


) else (
echo 时间小于10点,不关机
)
12 发表于 2010-04-21 13:01 ·  中国 吉林 长春 电信
初级用户
积分 69
发帖 46
注册 2010-03-18 11:14
UID 162446
性别 男
来自 山东
状态 离线
%0和%~0一样的效果吧,那么%1和%~1也应该一样吧
13 发表于 2010-04-21 17:11 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
for /?
回车5小左右吧,你就能看到你要的东西了。
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
论坛跳转: