Druckt den Dateinamen mit einer anderen Erweiterung (Batch-Programm)

830
Simon Perepelitsa

Batch-Programm startet mit 1 Parameter (vollständiger Pfad zur Datei)

program.cmd "C:\Path\To\File\Filename.txt" 

Jetzt besteht dieses Programm aus 1 Befehl:

echo %1 

Und es gibt nur ein Argument aus: C:\Path\To\File\Filename.txtfür das obere Beispiel.

Ich möchte jedoch, dass ein Argument (vollständiger Pfad) mit einer anderen Erweiterung gedruckt wird, z .exe. Für das obere Beispiel möchte ich, dass es gedruckt wird C:\Path\To\File\Filename.exe.

Wie mache ich das?

0

2 Antworten auf die Frage

2
grawity
% ~ dpn1.exe
Diese Antwort funktioniert, ist aber nicht besonders beschreibend. Die Verwendung der magischen Tilde-Variablen wäre "echo% dpn1.ext". Sie könnten auch "echo% dpn1.% 2" ausführen und dann "changeext.bat foo.txt bar" verwenden und die Ausgabe "foo.bar" sehen: http://technet.microsoft.com/en-us/library/bb490909.aspx für magische Variablenreferenzen. Tyler vor 14 Jahren 4
0
Jonno_FTW

In Ihrer program.cmd können Sie Befehle einfach so schreiben, wie Sie sie normalerweise an der Eingabeaufforderung verwenden würden.

Bitte, lesen Sie noch einmal, ich habe versucht, klarer zu erklären. Simon Perepelitsa vor 14 Jahren 0