2016-09-28 57 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