Discussion:
Kann FOR-Schleife nicht innerhalb einer Batch ausführen
(zu alt für eine Antwort)
g***@googlemail.com
2007-11-14 12:13:32 UTC
Permalink
Hallo alle,

folgendes Problem:

Ich will von einer Datei die Endung entfernen. Das geht auf der
Kommandozeile auch wunderbar mit

for %i in (*.xxx) do ren "%i" "%~ni"

Allerdings darf ich diese Zeile nicht in einer Batchdatei stehen haben
- auch wenn die Batch aus nichts anderem als dieser Zeile besteht,
bekomme ich die Fehlermeldung

Die folgende Verwendung des Pfadoperators zur Ersetzung eines
Batchparameters
ist ungültig: %~ni"


Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate
gültig
sind.
"TEST.bat" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Ich bin ratlos - was ist da los?

Vielen Dank für alle hilfreichen Tipps im voraus und beste Grüße

Gerd
Heiko Rost
2007-11-14 13:10:50 UTC
Permalink
Post by g***@googlemail.com
Ich will von einer Datei die Endung entfernen. Das geht auf der
Kommandozeile auch wunderbar mit
for %i in (*.xxx) do ren "%i" "%~ni"
Allerdings darf ich diese Zeile nicht in einer Batchdatei stehen haben
- auch wenn die Batch aus nichts anderem als dieser Zeile besteht,
bekomme ich die Fehlermeldung
Bei For-Variablen in Batch-Dateien mußt Du zwei %% benutzen:

for %%i in (*.xxx) do ren "%%i" "%%~ni"

Gruß Heiko
gerd.roethig@googlemail.com
2007-11-14 13:32:55 UTC
Permalink
Post by Heiko Rost
for %%i in (*.xxx) do ren "%%i" "%%~ni"
Super, danke. Damit geht's wirklich. Wo findet man solche
Informationen? Die Tutorials, die ich über Google gefunden habe,
schweigen sich leider über so spezifische Sachen aus.

Aber nochmals vielen Dank,

Gerd
Heiko Rost
2007-11-14 13:58:42 UTC
Permalink
Post by ***@googlemail.com
Super, danke. Damit geht's wirklich. Wo findet man solche
Informationen?
In der Dokumentation zu DOS. Ich vermute mal, Du benutzt CMD unter XP, dort
steht das mit in der Hilfe zum For-Befehl. Außerdem weiß man das noch aus
Zeiten, als eine CGA-Grafik bereits als Luxus galt. ;-)
Post by ***@googlemail.com
Die Tutorials, die ich über Google gefunden habe,
schweigen sich leider über so spezifische Sachen aus.
Als Referenz zu den einzelnen Befehlen ist die Hilfe von XP gut geeignet.
Wenn solche Eigenheiten in Tutorials zur Batchprogrammierung nicht mit
erwähnt werden, sagt das einiges über deren Qualität aus.

Gruß Heiko

Loading...