2014-04-29 122 views
0

任務是遍歷名爲alts.txt的文件中的每一行。然後我抓住該行並將其拆分爲分號,並在分號前和分號後打印出文本。批循環無法設置變量

我的文件看起來是這樣的......

username:password 
username2:password2 
username3: 

我當前的代碼是這樣的:

setlocal ENABLEDELAYEDEXPANSION 
set file=alts.txt 
for /f "tokens=*" %%A in (%file%) do (
    set str=%%A 
    set "username=%str::="^&REM #% 
    set "pass=%str:*:=%" 
    echo username=%username% pass=%pass% 
) 
pause 

如果有人會好心地告訴我我的錯誤,究竟該如何解決錯誤將不勝感激。

+0

要清楚,這是'cmd.exe'嗎? – ClickRick

+0

@ClickRick它是一個.bat文件 – user2821370

回答

2
@echo off 
setlocal ENABLEDELAYEDEXPANSION 
set file=alts.txt 
for /f "tokens=1,2 delims=:" %%A in (%file%) do (
    set "$user=%%A" 
    set "$pass=%%B" 
    echo username=!$user! pass=!$pass! 
) 
pause 

小心使用%username%.這是一個系統變量。您可以在CMD提示符下測試編寫echo %username%。你最好爲我的變量選擇另一個名字。