2014-03-19 10 views
6

Kann mir jemand erklären, was in einer Batch-Datei :~1% in der folgenden Aussage ist? I zugewiesen, um den Wert von %variable zu server und versuchte echo %variable. Ich bekomme den gleichen Servernamen wie die Ausgabe. Kann jemand erklären, wie die folgende Aussage funktioniert?was bedeutet es Batch Setvariable =% Variable bedeuten: ~ 1%

set variable=%variable:~1% 

Antwort

4

Es ist eine Syntax für Teilstrings aus dem Inhalt der Variablen, in diesem Fall entfernt es das erste Zeichen.

Siehe set /? Hilfe

+0

Dank, jetzt ist es klar, wie diese Teilkette funktioniert. – arunp

3

diese Notation für die Expansion subs String, aus an diesem Put-Form Kommandozeile sehen Sie verstehen.

C:\>set temp=stackoverflow.com 

C:\>echo %temp% 
stackoverflow.com 

C:\>echo %temp:~5% 
overflow.com 

C:\>echo %temp:~5,8% 
overflow 

C:\> 

wenn Sie nicht verstanden haben, hier ist Syntax (in meinen Worten)

set variable=%variable:~startingCharector [,OptionalLenghtOfCharctors]% 

wo

OptionalLenghtOfCharctors standardmäßig nimmt es Zeichen der Zeichenfolge zu bleiben.

+1

Im Allgemeinen sein eine Teil und gespalten. Jetzt in der Lage, das Skript zu verstehen. Danke Baljeetsingh. – arunp

+0

@ user3437439 froh, Ihnen zu helfen! , können Sie den Stapelüberlauf unterstützen, indem Sie die richtige Antwort als grünen Haken markieren. – Baljeetsingh