作者nknudragon (想买合购鹿港玉珍斋 )
看板Windows
标题Re: windows command 如何确定变数存在与否
时间Tue Sep 13 10:21:16 2011
※ 引述《nknudragon (想买合购鹿港玉珍斋 )》之铭言:
: 大家好 有个问题跟大家请教
: 最近工作上有需要写一个SCRIPT,是有关FTP上传下载的
: 大约的用法如下。
: fileup [filename] [times]
: 这样子就会自动上传档案到指定的FTP
: [times] 变数部分 如果不指定,那这个SCRIPT就RUN一次
: IF EXIST %2 DO
: FOR /L %%G IN (1,1,%2) DO (
: ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
: echo 这是第 %%G 次上传测试结果
: pause)
: ELSE
: ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
: ENDIF
: 但是执行起来是有错的,修修改改了许多次,都是有问题
: 不适跟我说不应该有ELSE,就是跟我说ENDIF,不然就是语法错误
: 想请教大家,要如何修改这个SCIRPT ?
自问自答
IF 跟ELSE 语法有搞懂了,但是%2的条件式却一直搞不定
因为%2并不一定存在,所以一直不知道该用什麽条件去判定
有人可以给个方向麽 ?
IF EXIST %2 DO (
FOR /L %%G IN (1,1,%2) DO (
ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
echo 这是第 %%G 次测试结果
pause)
) ELSE (
ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
pause)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.227.229
※ 编辑: nknudragon 来自: 218.211.227.229 (09/13 11:13)
1F:推 ddd321 :if not "%~2" == "" 09/13 15:50
2F:→ ddd321 :数字前不要加0,例如:08 09/13 15:51
3F:→ ddd321 : fileup [filename] 08 09/13 15:56
感谢楼上提点,修改如以下,给大家做个参考
(如果大家有无聊到需要重复上下传FTP的档案)
IF "%~2" == "" (ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
echo 这是本次测试结果
pause
) ELSE (FOR /L %%G IN (1,1,%2) DO (ftp -n -s:ftpcmd.dat ftp.adsl.hinet.net
echo 这是第%%G次测试结果
pause))
※ 编辑: nknudragon 来自: 218.211.227.229 (09/13 16:35)