bat批处理 中set的用法
:beginsetd=%date:~9,1%if%d%=0taskill/f/imar.exeif%d%=5taskill/f/imar.exeping-n100127....
:begin
set d=%date:~9,1%
if %d%=0 taskill /f /im ar.exe
if %d%=5 taskill /f /im ar.exe
ping -n 100 127.1>nul
tasklist|findstr /i %n%||start c:\ar.exe
goto begin
我这个bat就是5天结束一次进程 并且同时监视进程
为什么会一闪而过呢 展开
set d=%date:~9,1%
if %d%=0 taskill /f /im ar.exe
if %d%=5 taskill /f /im ar.exe
ping -n 100 127.1>nul
tasklist|findstr /i %n%||start c:\ar.exe
goto begin
我这个bat就是5天结束一次进程 并且同时监视进程
为什么会一闪而过呢 展开
3个回答
展开全部
不好意思,if语句应该是双等号,当时回答时匆忙之间忽略了,抱歉。
下次有这种一闪而过的情况都是有语法错误,这时不要双击批处理运行,先打开一个cmd窗口,cd到批处理所在路径,输入批处理文件名回车运行,这时能看到错误提示,根据错误提示排查语法错误。
if %d%==0 taskill /f /im ar.exe
if %d%==5 taskill /f /im ar.exe
下次有这种一闪而过的情况都是有语法错误,这时不要双击批处理运行,先打开一个cmd窗口,cd到批处理所在路径,输入批处理文件名回车运行,这时能看到错误提示,根据错误提示排查语法错误。
if %d%==0 taskill /f /im ar.exe
if %d%==5 taskill /f /im ar.exe
追问
朋友能再看看我在yyykkkyyy中贴的代码吗 taskkill错误
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if 语句格式错误 单个等号是赋值用的,这里要写成==或equ
更多追问追答
追问
哥们 能解释下这段吗
set d=%date:~9,1%
if %d%=0 taskill /f /im ar.exe
if %d%=5 taskill /f /im ar.exe
追答
%date:~9,1% 表示取系统日期中第9字符后的一个,即取日号的个位数赋给变量d
后两句即当d是0或5时执行强行中止ar.exe进程
其实可取除5的余数来判断可少一行代码(如此进程未运行会提示出错,再加个屏蔽出错信息):
set "d=%date:~9,1%%%5"
if %d% equ 0 taskill /f /im ar.exe 2>nul
就语句合法来说,提问所贴代码应只是一部分 不然那个 %n% 处仍会出错
实际用意我没明白,检测日期是否需要一日内反复循环且中止进程...自己斟酌一下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if命令比较需要使用双等于号!
追问
set d=%date:~9,1%
if %d%=0 taskill /f /im ar.exe
if %d%=5 taskill /f /im ar.exe能解释下这里吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询