Weisen Sie Aliasnamen mit FOR in Windows cmd.exe zu

526
prubini87

Ich habe versucht, eine Schleife zu verwenden, um mehrere Aliasnamen ohne Erfolg zu erstellen. Ich bin kein Profi, bitte ertragen Sie mich ... Weiß jemand, was in meinem Code falsch ist oder wie ich dies in der Eingabeaufforderung implementieren kann? Ich weiß, wie dies in PowerShell geschieht, aber ich versuche, den Code für cmd zu reproduzieren. Hier ist der Code:

@ECHO OFF  FOR %%G IN (a,b,c,d,e,f,g,h) DO ( DOSKEY %%GG=cd %%GG:\ ) 

Folgendes bekomme ich als Ergebnis beim Ausführen des Makros:

0
Was sehen oder erleben Sie mit der Batch-Datei? Appleoddity vor 6 Jahren 0
Ich habe gerade einen Screenshot hinzugefügt. prubini87 vor 6 Jahren 0
Beachten Sie, dass [der Windows-Befehl ** nicht ** DOS ist] (https://superuser.com/q/451432/241386). In DOS gibt es keine solche "for" -Schleife phuclv vor 6 Jahren 0

1 Antwort auf die Frage

2
phuclv

Sie definieren DOSKEY %%GG=cd %%GG:\(mit doppelten Gs). Sie müssen also eingeben aG, um in das Laufwerk zu wechseln aG:(was kein gültiger Laufwerksbuchstabe ist). Gleich wie bei anderen Laufwerken

Um das aktuelle Laufwerk zu ändern, verwenden Sie nur den Laufwerksbuchstaben anstelle von cd. Um in das aktuelle Verzeichnis auf A zu wechseln: einfach ausführen A:. Wenn Sie jedoch das aktuelle Laufwerk und das aktuelle Verzeichnis ändern möchten, verwenden Sie die /DOption

Sie müssen das Unnötige Gdort entfernen

@ECHO OFF  FOR %%G IN (a,b,c,d,e,f,g,h) DO ( DOSKEY %%G=%%G: rem Or DOSKEY %%G=cd /D %%G: ) 
Aww ... Vielen Dank! Das ist es! : D prubini87 vor 6 Jahren 0