こんにちはみんな私はバッチスクリプトでほとんど助けを必要としない...含むファイルsomething.txtから
data
data
LastLogedUser=John.Doe
data
data
文字列LastLogedUser =を検索し、その後にテキストを追加します(この場合、「John.Doe」は他のファイルのコピー内の変数のようです...このように、しかしコードに問題があります:
for /F "delims=" %%a in ('findstr /I "LastLogedUser=" something.txt') do set "uniuser=%%a"
echo User is: %uniuser%
copy fpr_log.txt c:\fpr_log%uniuser%.txt
findstr /I "LastLogedUser=" something.txt
はファイルから行全体を返します:
> findstr /I "LastLogedUser=" something.txt
LastLogedUser=John.Doe
したがって、_for
ループは=
を区切り文字として使用し、John.Doe
を抽出するためにsecondトークンを取得する必要があります。
ユーザー名にスペースがある場合に備えて、"
sもいくつか追加しました...
修正されたバッチファイル:
@echo off
setlocal
for /F "tokens=2 delims==" %%a in ('findstr /I "LastLogedUser=" something.txt') do set "uniuser=%%a"
echo User is: %uniuser%
copy fpr_log.txt "c:\fpr_log%uniuser%.txt"
endlocal