2014-02-21 25 views
0

我寫了運行在Windows命令提示符精細的批處理文件,但我想能在DOS POST後運行它。我已經將我的代碼複製到AUTOEXEC.BAT文件,該文件會自動執行;但是一旦到達call命令和其他命令,就會出現語法錯誤。如何在DOS 6.22中使用CALL函數?

echo. This script is counting the # of POSTs. 
echo. The POST # value is saved in TEST.txt. 
echo. 

call:myPOSTTest 

for /f "tokens=* delims=" %%x in (A:\TEST.txt) do echo POST# %%x 

echo. &pause&goto:eof 
::-------------------------------------------------------- 
::-- Function section starts below here 
::-------------------------------------------------------- 

:myPOSTTest - here starts my function identified by its label 

set var=0 

if EXIST A:\TEST.txt (
    for /f %%x in (A:\TEST.txt) do (set /a var=%%x+1) 
) 

echo %var% >> A:\TEST.txt 

goto END 

:END 

謝謝

+0

我認爲:這不是什麼在那裏實施。但不是100%肯定... –

+0

出於好奇是哪個版本的Windows,你運行?你提到在Windows命令提示符下運行,但你要在DOS下運行它... – ElGavilan

+2

我不認爲DOS 6.22支持批量文件中的功能。但是,您可以在外部批處理文件上執行'CALL othercmd.bat'。 – lurker

回答

0

查看下列意見:

echo. This script is counting the # of POSTs. 
echo. The POST # value is saved in TEST.txt. 
echo. 

call:myPOSTTest 

MSDOS不支持通話:標籤語法

for /f "tokens=* delims=" %%x in (A:\TEST.txt) do echo POST# %%x 

MSDOS不支持擴展for命令

echo. &pause&goto:eof 

MSDOS不支持&命令分隔或goto :eof鏈接

::-------------------------------------------------------- 
::-- Function section starts below here 
::-------------------------------------------------------- 

:myPOSTTest - here starts my function identified by its label 

set var=0 

if EXIST A:\TEST.txt (
    for /f %%x in (A:\TEST.txt) do (set /a var=%%x+1) 
) 

MSDOS不支持括號中的複合表達式或set /a增強

echo %var% >> A:\TEST.txt 

goto END 

:END 
相關問題