Re: windows command 如何確定變數存在與否
※ 引述《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
09/13 15:50, 1F
→
09/13 15:51, , 2F
09/13 15:51, 2F
→
09/13 15:56, , 3F
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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):