請問在dos bat中, 有方法將檔案的內容傳給一個變數嗎?
ex. count.txt內容為1,如何指定給count變數?
因為我要寫一個bat file, 它會執行一個程式,執行完後會需要reboot, 所以我需要知道reboot後到底跑到第幾圈... 總共需要10個迴圈(過程中會重開機)...
還是有什麼方法可以確認開機後是跑到第幾圈? Thanks in advance.
@ECHO OFF IF EXIST 1.TIMES ( DEL 1.TIMES NOTEPAD ) IF EXIST 2.TIMES ( DEL 2.TIMES NOTEPAD ) IF EXIST 3.TIMES ( DEL 3.TIMES NOTEPAD ) IF EXIST 4.TIMES ( DEL 4.TIMES NOTEPAD ) IF EXIST 5.TIMES ( DEL 5.TIMES NOTEPAD ) IF EXIST 6.TIMES ( DEL 6.TIMES NOTEPAD ) IF EXIST 7.TIMES ( DEL 7.TIMES NOTEPAD ) IF EXIST 8.TIMES ( DEL 8.TIMES NOTEPAD ) IF EXIST 9.TIMES ( DEL 9.TIMES NOTEPAD ) IF EXIST 10.TIMES ( DEL 10.TIMES NOTEPAD )
ECHO 1 > 1.TIMES ECHO 2 > 2.TIMES ECHO 3 > 3.TIMES ECHO 4 > 4.TIMES ECHO 5 > 5.TIMES ECHO 6 > 6.TIMES ECHO 7 > 7.TIMES ECHO 8 > 8.TIMES ECHO 9 > 9.TIMES ECHO 10> 10.TIMES
@ECHO OFF IF EXIST 1.TIMES CALL STEP1.BAT IF EXIST 2.TIMES CALL STEP2.BAT IF EXIST 3.TIMES CALL STEP3.BAT IF EXIST 4.TIMES CALL STEP4.BAT IF EXIST 5.TIMES CALL STEP5.BAT IF EXIST 6.TIMES CALL STEP6.BAT IF EXIST 7.TIMES CALL STEP7.BAT IF EXIST 8.TIMES CALL STEP8.BAT IF EXIST 9.TIMES CALL STEP9.BAT IF EXIST 10.TIMES CALL STEP10.BAT
DEL 1.TIMES NOTEPAD
DEL 2.TIMES NOTEPAD
for /F "eol=; delims= " %%i in (count.txt) do set a=%%i & set /A b=%%i+1 echo[%b%>count.txt
main.bat
<pre class="c" name="code">
call count.bat
if %count%==2 goto step2
if %count%==3 goto step3
if %count%==4 goto step4
.
.
.
:step1
echo "set count=2" > count.bat
goto end
:step2
echo "set count=3" > count.bat
goto end
.
.
.
.
:end
程式碼未測試除錯
通常我們會寫一個小程式,讀取檔案資料,然後設定給環境變數。
在 DOS 的批次檔,就可以讀取這個變數。
當然變數可以不只一個以上,只要環境變數容納的下。
其實在 Linux 上也是這樣子做。
如果有需要,我可以提供 C 的程式範例,不過不知道你的 DOS 是哪一版的。
如果是 DOS 7.0 以前,可能還要想辦法,找到 Turbo C