PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   請問DOS批次檔的寫法 (https://www.pcdvd.com.tw/showthread.php?t=725062)

oxoxoxo 2007-06-11 04:49 PM

請問DOS批次檔的寫法
 
請問若我要讓USER切換到某一磁碟下的某一目錄
目錄的名稱都不一樣(要讓使用者自行輸入)
不知要如何寫呢?

coincidence 2007-06-11 05:55 PM

不懂您的意思。請再描述清楚一點。

Crazynut 2007-06-11 07:12 PM

用基礎的程式語言來寫吧…compile成執行檔還是很小的。

oxoxoxo 2007-06-11 08:40 PM

不好意思,因為我不會寫程式
所以想用簡單的批次檔達成所需的目的
是這樣的
我把資料放在以日期為名稱的資料夾裡
我要讓使用者自己切換到所需的資料夾裡
然後我會執行一些批次檔,將檔案上傳到FTP裡
大概就是這樣的需求∼∼

FY24FR 2007-06-12 02:11 PM

顧名思義,批次檔就是要讓系統自動執行.
如果要讓使用者在執行時,自行輸入一個完整的目錄名稱,再依其輸入的內容來執行後續動作,似乎已經超過批次檔的功能極限,必須要寫程式才能作到了.

masao.tw 2007-06-12 04:28 PM

印象中似乎可以用echo方式在螢幕秀出請使用者輸入參數,然後再用%0、%1等參數去執行,詳細忘了,要翻dos的書,dos 3.3 dos5.0 dos 6.22的書我都還有,想到以前為了玩game,幾乎每個人都要會寫批次檔來榨記憶體呢。

兩津 勘吉 2007-06-12 05:53 PM

舉例這個批次檔名稱為 example.bat

以下是批次檔的內容
代碼:
cd\%1
call program1.exe
call program2.exe


使用者後續輸入

example 950612

那就會切換到 \950612 這個目錄底下 , 執行批次檔需要的程式 ,
如我例子中的 program1.exe or program2.exe

FY24FR 2007-06-12 10:10 PM

引用:
作者兩津 勘吉
舉例這個批次檔名稱為 example.bat

以下是批次檔的內容

cd\%1
call program1.exe
call program2.exe


使用者後續輸入

example 950612

那就會切換到 \950612 這個目錄底下 , 執行批次檔需要的程式 ,
如我例子中的 program1.exe or program2.exe

哇!真是開了眼界.謝謝分享這個技術.

不過我有一點存疑的是:這個做法是要使用者到dos模式(或命令提示字元)下,先自行輸入批次檔名稱,而且要正確地空一格,再輸入目的地資料夾名稱,然後再按enter執行.

這樣的操作法,對於一般不熟悉DOS介面的使用者,恐怕會很難入手;而且這樣就意味著使用者可以找到那個批次檔,並讀取內容,我想這也應該不會是樓主希望的狀況.

至於樓上masao.tw提到使用ECHO的做法,感覺上似乎可以做出更接近樓主想要的結果吧?因為可以把批次檔做好以後,再拉個捷徑給使用者點,然後在批次檔的runtime,讓使用者在dos介面輸入參數.

ufly11 2007-06-14 01:24 AM

還是建議用程序語言制作一個使用者界面比較方便。

Crazynut 2007-06-14 04:52 PM

批次檔只能處理有限的對象。

比方說有三個使用者,你在批次檔裡面必須寫好相關的三個區段,然後依回傳數值判斷goto。

回傳數值通常使用Errorlevel,這還不如寫個固定式的表單。

不定使用者,最好用C來寫,讀取週邊數值較容易。


所有的時間均為GMT +8。 現在的時間是07:35 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。