2017-04-07 26 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 
... 

(注:実際には、新しいファイルの名前を変更する(元のファイルを上書きする)、ECHOを削除しますmoveの前)

+0

ありがとうございます! – Avoxy

+0

@Avoxyこの回答があなたの問題を解決した場合は、それを受け入れるべきです。 – dcg

関連する問題