2015-09-05 37 views
0

我有這個文本文件:如何設置文本文件每一行的值?

NJ01_27Ground 
nj01stripclub 
others... 

好了,現在我想建立自己的價值觀,而不是型號名稱在我剛纔寫這個批處理文件:

Set /p "r=Model name? >> " 
if exist "F:\Map 4 animation\%r%.obj" (echo %r%>>Loaded.txt) else (echo %r%>>Unloaded.txt) 
test.bat>>test.bat 

我的意思是,例如,這將是對於第一行:

set r=NJ01_27Ground 
if exist "F:\Map 4 animation\%r%.obj" (echo %r%>>Loaded.txt) else (echo %r%>>Unloaded.txt) 
test.bat>>test.bat 

回答

0

下面的批處理代碼創建一個名爲ExistenceCheck.bat的批處理文件。

@echo off 
setlocal 
set "OutputBatch=ExistenceCheck.bat" 
>"%OutputBatch%" echo @echo off 
>>"%OutputBatch%" echo del Loaded.txt Unloaded.txt 2^>nul 
for /F "usebackq delims=" %%I in ("InputTextFile.txt") do (
    >>"%OutputBatch%" echo if exist ^"F:\Map 4 animation\%%I.obj^" ^(echo %%I^>^>Loaded.txt^) else ^(echo %%I^>^>Unloaded.txt^) 
) 
endlocal 

對於InputTextFile.txt一行每個非空/空行被附加到輸出文件ExistenceCheck.bat

文件ExistenceCheck.bat包含終於例如:

@echo off 
del Loaded.txt Unloaded.txt 2>nul 
if exist "F:\Map 4 animation\NJ01_27Ground.obj" (echo NJ01_27Ground>>Loaded.txt) else (echo NJ01_27Ground>>Unloaded.txt) 
if exist "F:\Map 4 animation\nj01stripclub.obj" (echo nj01stripclub>>Loaded.txt) else (echo nj01stripclub>>Unloaded.txt) 

我希望,這個批處理文件是你最終想要的東西。

Test.bat>>Test.bat絕對不是一個好主意。執行一個批處理文件,最終將其輸出附加到自身,同時也會被命令處理器處理,這很容易導致語法錯誤或幾乎無盡的運行批處理文件。

相關問題