Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Xcopy Befehl mit Pfadangabe aus zwei Textdateien

Mitglied: Tobias68

Tobias68 (Level 1) - Jetzt verbinden

26.03.2010, aktualisiert 11:34 Uhr, 4089 Aufrufe, 4 Kommentare

Hallo zusammen,

jetzt bin ich mal gespannt, ob ich hier die Lösung erfahren werde.

Folgende Aufgabenstellung habe ich....

Mittels einer Batch Datei möchte ich mehrere Dateien von a nach b kopieren. Der Quellpfad und der Zielpfad sind in unterschiedlichen Textdateien wie folgt aufgelistet:

Quellpfad.txt
C:\Bodensee\081205Am See.jpg
C:\Bodensee\Archiv1\untergeordnete Dateien\All\081205RestaurantAdler.tif
C:\Bodensee\Archiv12\081205Sandstrand1.tif
C:\Bodensee\Archiv5\081205Hallo2.pic

Zielpfad.txt
M:\Altes Archiv\
M:\Altes Archiv\Archiv1\
M:\Altes Archiv\Archiv12\
M:\Altes Archiv\Archiv5\

Nun soll in einer Batch-Datei der xcopy-Befehl aus den Textdateien zusammengesetzt und der Reihe nach abgearbeitet werden. D.h. die Reihenfolge der aufgelisteten Pfadangaben in den Textdateien passt zueinander.
Also die Zeile 1 in der Quellpfad.txt muss mit der Zeile 1 aus der Zielpfad.txt zusammengesetzt werden

Die Verzeichnisstruktur in der Zielpfad.txt besteht bereits auf dem Server.

Also z.B.
xcopy C:\Bodensee\081205Am See.jpg M:\Altes Archiv\
xcopy C:\Bodensee\Archiv1\untergeordnete Dateien\All\081205RestaurantAdler.tif M:\Altes Archiv\Archiv1\


Natürlich besteht das Bildarchiv nicht nur aus den angegebenen vier Beispielen, sondern es sind in den jeweiligen Textdateien einige hundert Zeilen.

Besten Dank im Voraus für Eure Mühe...

Tobias
Mitglied: bastla
26.03.2010 um 12:31 Uhr
Hallo Tobias68 und willkommen im Forum!

Ist es nur Zufall, dass am Ziel jeweils die selbe Ordnerstruktur verwendet wird (also zB von "Archiv12" nach "Archiv12" kopiert werden soll)? [Edit] Bei genauerer Betrachtung Deiner Beispiele ziehe ich die Frage zurück ... [/Edit] In diesem Fall würde sich das Ganze ja darauf reduzieren, den relativen Pfad unterhalb von "C:\Bodensee" an den Basispfad "M:\Altes Archiv" anzufügen.

Ansonsten etwa so:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Quellpfad.txt" 
03.
set "Ziel=D:\Zielpfad.txt" 
04.
 
05.
set "ZielN=%temp%\Zielpfad_nummeriert.txt" 
06.
findstr /n "^" "%Ziel%">"%ZielN%" 
07.
 
08.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Quelle%"') do ( 
09.
    for /f "tokens=1* delims=:" %%a in ('findstr /b "%%i:" "%ZielN%"') do ( 
10.
        echo copy "%%j" "%%b" 
11.
12.
13.
del "%ZielN%"
Wegen des "echo" werden die Kopierbefehle zunächst (zum Testen) nur angezeigt - später (= wenn das Ergebnis vernünftig aussieht) kannst Du dann die Zeile 10 durch
copy "%%j" "%%b">nul
ersetzen.

Grüße
bastla

P.S.: Etwas flotter könnte anstelle des Batches ein VBScript sein ...
Bitte warten ..
Mitglied: Tobias68
26.03.2010 um 13:33 Uhr
Hallo bastla,

besten Dank für Deine sehr schnelle Antwort....

Leider funktioniert Dein Script noch nicht ganz, aber nach meiner Einschätzung ist es nur noch ein kleiner Fehler. Sorry, ich selbst könnte den Fehler nicht identifizieren, da meine Kenntnisse sehr begrenzt sind.

Nun, beim Ausführen der Batch-Datei mit Deinem Quellcode bekomme folgendes Ergebnis:

copy "C:\Bodensee\Hallo1.jpg" "C:\Altes Archiv\"
.tif" "C:\Altes Archiv\Archiv1\"eordnete Dateien\All\Hallo4
copy "" ""
copy "C:\Bodensee\Archiv12\Hallo3.tif" "C:\Altes Archiv\Archiv12\"
copy "C:\Bodensee\Archiv5\Hallo2.pic" ""

Erste Zeile passt
In der zweiten Zeile "verschluckt er ein paar Buchstaben des Verzeichnisnamens ("eordnete Dateien --> richtig wäre "untergeordnete Dateien") und das .tif setzt er ganz nach vorne?!?
Die dritte Zeile kapiere ich überhaupt nicht was da geht (
Die vierte Zeile passt wieder
In der fünften Zeile fehlt der Zielpfad

Hoffentlich kannst Du nochmals drüberschauen.

Besten Dank schon mal.

Viele Grüße
Tobias
Bitte warten ..
Mitglied: bastla
26.03.2010 um 14:30 Uhr
Hallo Tobias68!

Kann ich leider nicht nachvollziehen - bei mir sieht's so aus:
01.
D:\>type KopierenMit2Listen.cmd 
02.
@echo off & setlocal 
03.
set "Quelle=D:\Quellpfad.txt" 
04.
set "Ziel=D:\Zielpfad.txt" 
05.
 
06.
set "ZielN=%temp%\Zielpfad_nummeriert.txt" 
07.
findstr /n "^" "%Ziel%">"%ZielN%" 
08.
 
09.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Quelle%"') do ( 
10.
    for /f "tokens=1* delims=:" %%a in ('findstr /b "%%i:" "%ZielN%"') do ( 
11.
        echo copy "%%j" "%%b" 
12.
13.
14.
del "%ZielN%" 
15.
D:\>type Quellpfad.txt 
16.
C:\Bodensee\081205Am See.jpg 
17.
C:\Bodensee\Archiv1\untergeordnete Dateien\All\081205RestaurantAdler.tif 
18.
C:\Bodensee\Archiv12\081205Sandstrand1.tif 
19.
C:\Bodensee\Archiv5\081205Hallo2.pic 
20.
 
21.
D:\>type Zielpfad.txt 
22.
M:\Altes Archiv\ 
23.
M:\Altes Archiv\Archiv1\ 
24.
M:\Altes Archiv\Archiv12\ 
25.
M:\Altes Archiv\Archiv5\ 
26.
 
27.
D:\>KopierenMit2Listen.cmd 
28.
copy "C:\Bodensee\081205Am See.jpg" "M:\Altes Archiv\" 
29.
copy "C:\Bodensee\Archiv1\untergeordnete Dateien\All\081205RestaurantAdler.tif" 
30.
"M:\Altes Archiv\Archiv1\" 
31.
copy "C:\Bodensee\Archiv12\081205Sandstrand1.tif" "M:\Altes Archiv\Archiv12\" 
32.
copy "C:\Bodensee\Archiv5\081205Hallo2.pic" "M:\Altes Archiv\Archiv5\" 
33.
 
34.
D:\>
Kann eigentlich nur an den Textdateien liegen - um das zu verifizieren, teste doch bitte einmal mit den oben dargestellten Daten ...

Grüße
bastla
Bitte warten ..
Mitglied: Tobias68
30.03.2010 um 10:55 Uhr
Hallo bastla,

Du hattest Recht, dass Problem war die Formatierung der Textdateien.

Das Script funktioniert einwandfrei. BESTEN DANK.

Grüße
Tobias
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mehrzeilige diskpart Befehle aus einer Textdatei auslesen
gelöst Frage von KollisionskursBatch & Shell1 Kommentar

Hallo zusammen, ich steh gerade etwas auf dem Schlauch. In unserem Netzwerk liegen verschiedene System-Images (*.wim) bereit - die ...

Batch & Shell
Umlaute in Pfadangaben
gelöst Frage von goodbytesBatch & Shell8 Kommentare

Hallo, ich stehe leider immer noch vor dem leidigen Thema Umlaute in Batches :- Bei Dateinamen und in den ...

Batch & Shell
Robocopy mit Strichen (minus) in den Pfadangaben
gelöst Frage von blue0711Batch & Shell6 Kommentare

Hallo, ich muss einige 1000 Dateien aus einer verschachtelten Struktur verschieben, bei der ich allerdings Unterordner ausschließen muss. Soweit ...

Batch & Shell
For-Schleife Leerzeichen in Pfadangabe
gelöst Frage von goodbytesBatch & Shell3 Kommentare

Hallo, mittels For-Schleife sollen zeilenweise Pfadangaben aus einer txt-Datei geholt werden und damit was abgearbeitet werden. Ist ja soweit ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...