Re: windows command 如何確定變數存在與否

看板Windows作者 (想買合購鹿港玉珍齋 )時間12年前 (2011/09/13 10:21), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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)

09/13 15:50, , 1F
if not "%~2" == ""
09/13 15:50, 1F

09/13 15:51, , 2F
數字前不要加0,例如:08
09/13 15:51, 2F

09/13 15:56, , 3F
fileup [filename] 08
09/13 15:56, 3F
感謝樓上提點,修改如以下,給大家做個參考 (如果大家有無聊到需要重複上下傳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)
文章代碼(AID): #1ERhuVZ5 (Windows)
文章代碼(AID): #1ERhuVZ5 (Windows)