2013-07-15 37 views
1

我在批一個程序員,我剛剛加入這個網站問1個問題...批處理文件中寫入錯誤數據到文件

我做了這個程序,從1到10,編碼寫入隨機數/將它們寫入文件中......問題是,另一批文件必須讀取數字並檢查它是否低於5.

生成隨機數的批處理文件不是將隨機數輸入到文件中; 相反,文件說

ECHO處於關閉狀態

其迷惑其他批處理文件,因此崩潰。

這是兩個批處理文件的代碼;

的數字

@echo off >nul 
    title Batch Arithmetic Communicator 
    :check 
    timeout /t 1 >nul /nobreak 
    echo %t% >>wait.rsm 
    SET /A t=%RANDOM% * 10/32768 + 1 
    goto cont 

    :cont 
    timeout /t 1 >nul 
    if exist pack.rsm goto cont2 
    if NOT exist pack.rsm goto cont 

    :cont2 
    set /p data=<pack.rsm 
    del pack.rsm 
    if %data% LSS 5 goto move 
    if %data% GTR 5 goto check 

The receiver of the numbers 


@echo off 
:a 
timeout /t 1 >nul 
if exist wait.rsm goto b 
if NOT exist wait.rsm goto a 

:b 
set /p d=<wait.rsm 
if %d% GTR 5 goto a 
if %d% LSS 5 goto w 

:w 
echo 3>>pack.rsm 
goto a 

幫助的 「作家」?

回答

1

你的作家是呼應%T%它的設置是:

echo %t% >>wait.rsm 
SET /A t=%RANDOM% * 10/32768 + 1 

在第一次發言的時間,因爲如果你說%t%設置爲Nothing所以它是:

echo >>wait.rsm 

這就是爲什麼你會得到ECHO is off,你看到一個「裸」回聲命令。

基本上,你需要嘗試呼應它,以便交換圍繞這兩個語句之前設置%t

SET /A t=%RANDOM% * 10/32768 + 1 
echo %t% >>wait.rsm 
+0

'>> wait.rsm回聲%T%'如果你使用這個那麼它將不包括尾隨空間。 – foxidrive

+0

我明白了。多謝你們!這確實有助於:D –