2016-09-28 60 views
0

我想爲我的朋友做一個程序,並且當我嘗試爲/ f命令執行更多操作時,它只是不工作!無法爲/ f命令執行多個操作

代碼:

echo something1 > Settings.dll 
echo something2 >> Settings.dll 
echo something3 >> Settings.dll 
for /f "skip=0" %%a in (Settings.dll) do set something1=%%a 
for /f "skip=1" %%a in (Settings.dll) do set something2=%%a 
for /f "skip=2" %%a in (Settings.dll) do set something3=%%a 
echo %something1% %something2% %something3% 
Pause>nul 

但輸出是:something1 something1 something1

+0

有趣......我得到的東西'3' 3次...你可以刪除'「skip = 0」btw ...它現在應該會導致一個錯誤。但是(Settings.dll)中的for/f %% a會回顯「%% a」'如果這有助於回顯每一行... – geisterfurz007

+0

我想教程序我的名字,年齡和它的次數被打開了,我需要做一些事情。 – RPochyly

+0

'for/F'不接受'skip = 0',則出現錯誤... – aschipfl

回答

1

如果你只是想從文件中讀取它更容易使用重定向一些行。

爲了節省

(
    echo John Smith 
    echo 22 
    echo 1 
) > settings.txt 

要加載

(
    set /p name= 
    set /p age= 
    set /p times= 
) < settings.txt 
0

...並使用For循環:

For /F "Delims=" %%I In (Settings.dll) Do (If Not Defined Line1 (Set Line1=%%I 
    ) Else (If Not Defined Line2 (Set Line2=%%I) Else (
      If Not Defined Line3 Set "Line3=%%I"))) 
Echo= %Line1% %Line2% %Line3%" 
Pause>Nul