keiosid
Goto Top

Verschieben einer Datei und den Dateinamen ergänzen mittels einer Batch Datei (wahrscheinlich standard)

Hallo,

habe mich jetzt schon eine Weile durchs Forum gekämpft, aber nur ein halbes Ergebnis erreicht.

Wahrscheinlich ganz simpel, aber da ich nicht viel mit Programmierung zu tun habe, für mich doch noch eine Hürde.

Folgendes Problem:
Ich muss mittels Batch eine Datei von einem Verzeichnis in ein anderes Veschieben.
Dabei soll an den Dateinamen BGF_ vorangestellt werden:

Also so
c:\AboOut00_V_AH_2008-1_09-01-08_02-01.TXT

Batchprozedur

d:\BGF_AboOut00_V_AH_2008-1_09-01-08_02-01.TXT


Mein bisheriger Versuch beläuft sich auf einen CopyBefehl,
der mir aber die ersten 4 Zeichen ersetzt, und nicht anhängt.

@echo off
copy *.txt BGF_*.txt

ergibt-->BGF_ut00_V_AH_2008-1_09-01-08_02-01.TXT

Also wie schaffe ich es,
dass die Datei in ein anderes Verzeichnis verschoben wird und vorne den Zusatz erhält?

Danke im Voraus.

Gruß
KEIOS

Content-Key: 78396

Url: https://administrator.de/contentid/78396

Printed on: April 24, 2024 at 12:04 o'clock

Member: Netzheimer
Netzheimer Jan 17, 2008 at 08:58:34 (UTC)
Goto Top
Ins Verzeichnis mit: copy... .txt LW:\Verzeichnis1\Verzeichnis2... - hier das / die Verzeichnis(se) angeben.

Ich würde allerdings mit dem Befehl move arbeiten zum Verschieben.
Der Befehl rename funktioniert ganz gut zum umbenennen. Und wenn man hinter dem Befehl ein /? eingibt, erscheint die Hilfe zum Syntax.
Member: KeiosID
KeiosID Jan 17, 2008 at 09:11:17 (UTC)
Goto Top
Hi,
also ich stell mir das so vor:

leider fehlt mir die richtige Syntax:

--rename datei (hier soll das BGF_ vorangestellt werden
-- move Datei. (hier sollen die Dateien auf ein anderes LAufwerk gestellt werden, damit diese dann weiter verarbeitet werden.

Dies soll mit allen Dateien passieren,
die hier abgestellt werden, die Dateien haben aber immer unterschiedliche Namen.

Danke schonmal für die erste Antwort

Gruß
KeiosID
Member: miniversum
miniversum Jan 17, 2008 at 19:49:21 (UTC)
Goto Top
Versuchs mal damit:

FOR /F "delims=" %i in ('Dir *.txt /B /A-D') do copy "%i" "BGF_%i"

miniversum
Member: KeiosID
KeiosID Jan 18, 2008 at 08:08:06 (UTC)
Goto Top
Hi,

danke erstmal
ich habe das so in meine Batch geschrieben:

@echo
for /f "delims=" %%i in ('Dir /b L:\Abo*.txt') do ren L:\%%i BGF_%%i
move L:\BGF*.txt C:\SS\spoolcitrix\

Dadurch, dass ich dass ich auf Abo*.txt gegangen bin, habe ich unterdrückt, dass die Datei zweimal geschrieben wird.

Danach hab ich Deine getestet, und die gefällt mir besser.

Ein Bitte noch,

könntest Du mir deine Zeile erläutern, damit ich den logischen Zusammenhang verstehe?

Danke
Gruß
Keios
Member: Biber
Biber Jan 21, 2008 at 08:09:17 (UTC)
Goto Top
Moin KeiosID,

die Erläuterung zu einer CMD-Zeile der Art..
for %i in (L:\Abo*.txt) do @echo move "%i"  c:\ss\spoolcitrix\BGF_%~nxi  

wäre...
for %i in (L:\Abo*.txt) do ...
---> für alle Dateien Abo*txt im Verzeichnis L:\
..@echo...
---> zeige alles folgende nur an statt es wirklich auszuführen
...move "%i" c:\ss\spoolcitrix\BGF_%~nxi
MOVE jede einzelne passende Datei "%i" nach c.\ss\spoolcitrix\,
aber mit dem Namen "BGF_" und danach bisherigen Namen und bisherige Extension.

Grüße
Biber
Member: KeiosID
KeiosID Jan 21, 2008 at 10:39:33 (UTC)
Goto Top
Danke für die Erläuterungen und die Lösungen.

Sehr schön dass hier einem sachlich geholfen wird (was man nicht von allen Foren sagen kann).

Danke

Beitrag ist erledigt