2017-02-24 21 views
1

文字列の最初の単語をバッチで削除しようとしています。Windowsバッチ - 最初の単語を文字列から削除する

例:「この子はバッチを愛している」

を「子供がバッチを愛する」ために私が試してみました:

@echo off 
set /p text=text: 
for /f "tokens=1,*" %%a in ("%text%") do set updated=%%a 
echo %updated% 
pause 

をそれはちょうど最初の単語を出力し、最初の単語を削除しません。

最初の単語を削除し、残りの文字列を保持するにはどうすればよいですか?

+3

set updated=%%bに使用を変更、最初の単語の後にすべてを取得するには。 – SomethingDark

+0

@SomethingDark %% aを%% bに変更したときと同じ出力を返します。 – djmrminer

+3

いいえちょうど変更してください: 'set updated = %% b' – Aacini

答えて

2

%%aで、それ以外はすべて%%bに格納されます。

はB`代わりに `%%のA`の%%`単に set updated=%%a

@echo off 
set /p text=text: 
for /f "tokens=1,*" %%a in ("%text%") do set updated=%%b 
echo %updated% 
pause 
3

あなたもforループをせずにそれを行うことができます:あなたは変数が%%aあるforループ内のデフォルトの区切り文字で"tokens=1,*"を使用する場合は、最初の空白文字の左側にあるすべてのものが保存されている

@Echo Off 
Set/P "text=text: " 
Set "updated=%text:* =%" 
Echo(%updated% 
Timeout -1 
関連する問題