2016-10-27 4 views
0

ich folgende Batch haben:'subst' Befehl mit variabler

subst D: /d 
subst D: C:\folder\folder2 
pause 

Und es funktioniert gut.

Also habe ich versucht, etwas anderes:

set p2=folder2 
set p1=C:\folder\%p2% 

subst D: /d 
subst D: %p1% 
pause 

Obwohl, wenn beide genau gleich aussehen, in der Konsole laufen sie, die zweite Version Ergebnisse in Fehler:

subst is not found as internal or external command 

Irgendwelche Ideen?

+0

Sollte funktionieren. Ich habe das gerade neulich in einer Batchdatei gemacht, die ich auf SO gepostet habe. http://stackoverflow.com/questions/40247379/batch-parsing-out-file-path-from-dynamic-array/40248534#40248534 – Squashman

+2

Hatten Sie mehr Code in der Batch-Datei? Wenn Sie die Variable PATH manipuliert haben, wird "subst.exe" nicht gefunden. – Squashman

+0

@Squashman Dies ist eine ganze Datei. So wird 'p1' nicht manipuliert, es sei denn, es wird mit einer anderen Variablen erstellt. – Piotrek

Antwort

0

Problem gelöst - in der Tat hat nie existiert. In einer echten Datei habe ich versucht path als Variablennamen anstelle von p1 zu verwenden. Art der schlechten Idee im Batch ...

+0

Ja. Es sei denn du weißt was du tust. Außerdem ist das Verschleiern Ihrer Code-Beispiele eine extrem schlechte Idee, wenn Sie keine Ahnung haben, was Sie tun. Wie Sie in Ihrem Beispiel sehen können, verdeckte es das eigentliche Problem mit Ihrem Code. – Squashman