2012-12-17 54 views
2

我試圖創建一個批處理文件,該文件將讀取和另一個文件中替換文本中指定的行/串。批次:從文件中讀取字符串,寫入另一個文件

例子:

我有一個文件位於包含\\company.local\netlogon\data.txt如下:

JohnDoe=157 JoeSmith=104 JoeBloggs=514 

我想讀一個等號後,這些字符串簽名,所以基本上作爲一個登錄腳本,我可以搜索對於包含%username%的行,則將等號後面的數字讀入變量,如%number%

因此,如果JohnDoe要登錄,它會搜索他的名字並閱讀157

我希望能夠搜索另一個文件中的字符串並寫入特定的字符串,所以它會搜索Extension=並在其後面寫157

喜歡的東西Extension=%number%那麼這將讀入文件作爲Extension=157

任何幫助非常感謝。

謝謝。

+0

如果你有編輯製作,請讓他們小編輯,我已經編輯爲你的SO標準:) –

+1

@BaliC:這就是衝進編輯爲您服務。 :)當你開始修復時,OP必須仍然在刷新帖子。有時你需要耐心等待一會兒,直到它開始清理之前穩定下來。 :) –

+0

@AndriyM我猜我碰到就像他們去貼吧的帖子,並開始編輯:) –

回答

1

不知道你有格式化的文件,但如果你有每個條目作爲新行,這將工作。

set extlist=P:\ath\to\extensionlist.txt 
set userdata=P:\ath\to\directory\%username%.txt 

for /f "tokens=1,2 delims==" %%a in (%extlist%) do if /I %%a.==%username%. set ext=%%b 

ren %userdata% %username%.txt.bak 
for /f "tokens=1,2 delims==" %%a in (%userdata%.bak) do if /I %%a.==Extension. (echo Extension^=^%ext%>>%userdata%) else (echo %%a^=^%%b>>%userdata%) 
del /Q %userdata%.bak 
相關問題