Discussion:
Platzhalter in Batch
(zu alt für eine Antwort)
Jörg Burzeja
2007-05-24 18:34:51 UTC
Permalink
Ich stehe gerade etwas auf der Leitung:

Das geht:
copy c: \*.abc c:\konstant.abc

So hätte ich es gerne, geht aber nicht:
copy c: \variabel*.abc c:\konstant.abc

Wie wandle ich variable Dateinamen mit Platzhalter in kostante
Dateinamen um?
--
Viele Grüße
Jörg
Marcello
2007-05-24 19:13:13 UTC
Permalink
Hallo Jörg
Post by Jörg Burzeja
copy c: \variabel*.abc c:\konstant.abc
Set variabel=Test
copy c:\%variabel%*.abc c:\konstant.abc

PS: Du hast hier nur eine Zieldatei (konstant.abc). Es könnte aber durchaus
mehrere Quelldateien Test*.abc geben.

Gruss, Marcello
Marcello
2007-05-24 19:27:53 UTC
Permalink
Ups...

...schon die erste Rüge bekommen!

Mein Vorschlag kopiert doch etwas mehr als gedacht.

Sorry!!!!!!!!!!!!!

Marcello
Jörg Burzeja
2007-05-24 19:59:31 UTC
Permalink
Post by Marcello
Post by Jörg Burzeja
copy c: \variabel*.abc c:\konstant.abc
Set variabel=Test
copy c:\%variabel%*.abc c:\konstant.abc
Danke zunächst.

Die Set-Anweisung in der Einngabeaufforderung wird angenommen. In der
CMD läuft die gleiche Anweisung auf einen Syntaxfehler.

Eine dir-Abfrage findet keine Datei.

Merkwürdig.
Post by Marcello
PS: Du hast hier nur eine Zieldatei (konstant.abc). Es könnte aber
durchaus mehrere Quelldateien Test*.abc geben.
In diesem Fall eigentlich nicht.
Wenn es keine unkomplizierte Lösuung gibt, gehen die eben alle Datein
mit *.abc in das andere Verzeichnis.

Ich finde es nur absolut nevend, wenn DOS, SQL, Access immer eine
andere Syntax für Platzhalter haben wollen.
--
Viele Grüße
Jörg
Marcello
2007-05-24 20:25:23 UTC
Permalink
Post by Jörg Burzeja
CMD läuft die gleiche Anweisung auf einen Syntaxfehler.
Hast du zufällig
Set %variabel%=Test
statt
Set variabel=Test
geschrieben?
Ralf Breuer
2007-05-24 20:22:46 UTC
Permalink
Post by Jörg Burzeja
copy c: \*.abc c:\konstant.abc
copy c: \variabel*.abc c:\konstant.abc
Hallo Jörg,

zwischen C: und \ darf kein Leerzeichen stehen.

Getestet habe ich:
copy C:\tmp\variabel*.xyz /b def.uvw

Das klappt. Allerdings werden, wenn mehrere Dateien existieren, auf die
variabel*.xyz zutrifft, diese hintereinander in konstant.abc kopiert. Die
Empfangsdatei enthält also alle Sendedateien.
--
Gruß
Ralf
Ich mag kein TOFU. Siehe http://einklich.net/usenet/zitier.htm
Bei Direkt-Mails NOSPAM entfernen
Jörg Burzeja
2007-05-24 21:14:28 UTC
Permalink
Post by Ralf Breuer
Post by Jörg Burzeja
copy c: \*.abc c:\konstant.abc
copy c: \variabel*.abc c:\konstant.abc
zwischen C: und \ darf kein Leerzeichen stehen.
Übertragsungsfehler. Entschuldigung.
Post by Ralf Breuer
copy C:\tmp\variabel*.xyz /b def.uvw
Das klappt.
Doppelklick CMD-Datei
Geht jetzt. War wohl ein Schreibfehler. So sollte es ja auch sein.
Danke.

Eingabeaufforderung, *gleiche* CMD:/BAT: Syntaxfehler.

.... und nun gefunden ...
Die 'bat' hatte den Namen copy. Und das verträgt sich in der
Eingabeaufforderung nicht mit den implementierten Befehlen. Dem
Explorer ist es aber egal. Also, keine gute Idee, reservierte Befehle
zu verwenden.
--
Viele Grüße
Jörg
Ralf Breuer
2007-05-24 21:18:29 UTC
Permalink
Post by Jörg Burzeja
.... und nun gefunden ...
Die 'bat' hatte den Namen copy.
Immer wieder gerne benutzte Stolperfalle ;-)
--
Gruß
Ralf
Ich mag kein TOFU. Siehe http://einklich.net/usenet/zitier.htm
Bei Direkt-Mails NOSPAM entfernen
Loading...