2016-06-01 2 views

Antwort

3

Wie die meisten String-Verarbeitung im Batch, die FOR /F Befehl ermöglicht es Ihnen, dies zu tun, mit der Verwendung des delims Argument.

for /f "delims=_" %%a in ("john_1") do set "name=%%a" 

Nun ist der gewünschte Teil in der %name% Variable.

Normalerweise haben Sie die Zeichenfolge in einer Variablen zu analysieren und nicht Quelle, obwohl. Um das oben genannte mit einer Variablen auszuführen, können Sie echo die Variable verwenden.

set sz=John_1 
for /f "delims=_" %%a in ('echo %sz%') do set "name=%%a" 

Schließlich, wenn Sie aus irgendeinem Grund den zweiten Teil des Strings erhalten möchten, können FOR eine andere Variable zuweisen, es zu halten, indem das tokens= Argument.

set sz=John_1 
for /f "tokens=1,2 delims=_" %%a in ('echo %sz%') do (set "name=%%a" & set "number=%%b") 

FOR ist eine der mächtigsten Befehle in der Batch-Sprache. Führen Sie help for aus, um die vollständige Liste der verfügbaren Optionen anzuzeigen.

+0

Sie brauchen etwas wie '" tokens = 1, * '" um die zweite Variable '%% b' – Stephan

+0

zu verwenden, wie @Stephan suggeriert, würde ich' 1, * 'anstelle von' 1,2', also die zweite Der Teil wird nicht aufgeteilt, wenn er einen anderen Unterstrich enthält –

Verwandte Themen