Windows batch-datei "Platzhalter" in Adresszeile?
Hallo.
Ich will ein kleines batch program schreiben, dass eine Datei kopiert und die Kopie dann woanders speichert. Das ganze soll auch funktionieren, wenn man einen Ordnernamen im Pfad ändert, in diesem Fall der Ordner mit dem PC-namen. Ich hab selber nicht so wirklich ne Ahnung, wie man das ganze nennt, deswegen ist es recht schwer, was bei Google zu finden.
Jedenfalls, das ganze soll so aussehen:
xcopy C:/Users/Franz/Appdata/datei.txt G:/ also die Datei "datei.txt" auf das Laufwerk G:/ kopieren. Wie schreib ich das ganze jetzt, sodass es immernoch funktioniert wenn der Pfad jetzt "C:/Users/Manfred/Appdata/datei.txt" heist? oder sonst irgend einen anderen namen hat?
2 Antworten
Du kannst im Batch %1 für das erste Argument %2 für das zweite und so weiter und %* für alle noch nicht behandelten verwenden.
Wenn die Batch fertig ist, kannst du zum Test die Datei drauf ziehen und schauen, ob sie kopiert wird.
xcopy %1 g:\%~n1
Die Anweisung müsste eine beliebige Datei unter dem selben Namen nach G:\ kopieren.
Wenn das klappt, dann kannst du dir das in der Registry auch als Kontextmenü-Befehl einbinden.
Dies erreichst Du mit einer Umgebungsvariable. In Deinem Fall ändert sich der Benutzer, demnach schreibst Du anstatt den Nutzernamen %USERNAME%.
Bsp:
C:/Users/%USERNAME%/AppData/datei.txt
Entschuldige, das passiert, wenn man Copy&Paste zurate zieht.
Ich meine natürlich C:\Users\%USERNAME%\AppData\datei.txt