2017-04-07 88 views
0

該批處理腳本的要點是採用用戶輸入的帳號,並將包含該帳號的文本文件中的行替換爲「 xxxxxxxxxxxxxxxxxxxxx」。我會怎麼做呢?現在它只顯示帳號的帳號信息。如何替換包含特定值的文本文件中的一行(批次)

set /p acct_code=Enter account code: 
echo. 
setlocal ENABLEDELAYEDEXPANSION 
set flag=0 
for /f "tokens=1-3 delims=," %%r in (accounts.txt) do (
if %%r==!acct_code! (
cls 
echo Account Information 
echo ******************* 
echo Account Code : %%r 
echo Account Name : %%s 
echo Account Balance : %%t 
set flag=1 
) 
) 
if !flag!==0 echo Account NOT Found, Please Try Again... 
echo. 
PAUSE 
cls 

回答

0

你錯過了剛剛的代碼重新寫線(到一個新的文件):

... 
for /f "tokens=1-3 delims=," %%r in (accounts.txt) do (
    if %%r==!acct_code! (
    cls 
    echo Account Information 
    echo ******************* 
    echo Account Code : %%r 
    echo Account Name : %%s 
    echo Account Balance : %%t 
    echo(%r,%%s,%%t >>accounts.new 
    set flag=1 
) else (
    echo xxxxxxxxxxxxxxxxxxxxx>>accounts.new 
) 
) 
ECHO move /y accounts.new accounts.txt 
... 

(注:實際上重命名新的文件(覆蓋原文件),刪除ECHOmove

+0

非常感謝! – Avoxy

+0

@Avoxy如果這個答案解決了你的問題,你應該接受它。 – dcg

相關問題