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

gelöst Xcopy für Delta bilden - xcopy aus txt-Datei - Frage Datei Verzeichnis

Mitglied: QuickMix

QuickMix (Level 1) - Jetzt verbinden

11.08.2011, aktualisiert 22:56 Uhr, 4260 Aufrufe, 2 Kommentare

Hallo, (Frage ist weit unten in # # )

ich habe folgendes Problem zu lösen. Ich unterhalte eine Sammlung aus Hilfedateien von insgesamt 5 Projekten. Diese Projekte sind auf meinem Laufwerk verstreut. Letztlich fasse ich diese 5 Projekte zusammen auf einem Laufwerk P:\. Dort hat jedes Projekt einen Ordner (Projektname) + je einen Unterordner "Lokale Publizierungen" und einen Unterordner "Skripte". Diese beiden enthalten in sich relativ verlinkte html und pdf Dateien. Insgesamt kommen zusammen: 525 MB, 2650 Dateien in 500 Ordnern. Für turnusmäßige Updates filtere ich die neuen Dateien derzeit mit dem Total Commander nach folgendem Muster: Synchronisiere Quelle Projekt1-5 (verstreut) mit Ziel (auf P:\) ABER kopiere die ermittelten Dateien in einen (dritten) Delta Ordner. Das klappt, soll aber automatisiert werden, da es - nicht zuletzt bedingt durch kleinere Linkfehler - mehrmals am Tag nötig ist. Mit Hilfe dieses Forums habe ich mir folgende Lösung zusammengeklaut:

01.
set tmptxt=w:\_DeltaTest 
02.
del %tmptxt%\dateien_delta.txt 
03.
set quelle_id=e:\1Pfad\Projekt1\Onlinehilfe\P1_Online1 
04.
set ziel1_id=p:\tmpBp-Hilfe\P1_Onlinehilfe 
05.
set ziel2_id=p:\Bp-Hilfe\P1_Onlinehilfe 
06.
xcopy "%quelle_id%\Lokale Publizierung\*.*" "%ziel1_id%\Lokale Publizierung\*.*" /d /s /y 
07.
xcopy "%ziel1_id%\Lokale Publizierung\*.*" "%ziel2_id%\Lokale Publizierung\*.*" /L /d /s /y|find /v "kopiert">%tmptxt%\dateien_delta.txt 
08.
xcopy "%quelle_id%\skripte\*.*" "%ziel1_id%\skripte\*.*" /d /s /y 
09.
xcopy "%ziel1_id%\skripte\*.*" "%ziel2_id%\skripte\*.*" /L /d /s /y|find /v "kopiert">>%tmptxt%\dateien_delta.txt 
10.
set quelle_id= 
11.
set ziel1_id=  
12.
set ziel2_id= 
13.
for /f "delims=" %%i in (%tmptxt%\dateien_delta.txt) do xcopy "%%i" "w:%%~pnxi" /Y 
14.
::pause 
15.
exit
Kurzerläuterungen:
- die Pfade in der dateien_delta.txt haben immer wieder mal Leerzeichen (=> delims)
- die eigentliche Zusammenfassung auf P:\ (ziel1) wurde verdoppelt (ziel2), sodass die Pfadstruktur in der txt stimmen, bis auf das Laufwerk (aus p wird w), denn die Ordnerstruktur der verstreuten Projekte weicht ab


So sieht z.B. die dateien_delta.txt aus:

P:\tmpBp-Hilfe\P1_Onlinehilfe\Lokale Publizierung\html\aktuell_uebersicht.html.bak4_11
P:\tmpBp-Hilfe\P1_Onlinehilfe\Lokale Publizierung\html\schulsoftware.htm

So sieht der (unbrauchbare) Pfad der beiden Dateien in der verstreuten Quelle aus:

e:\1Pfad\Projekt1\Onlinehilfe\P1_Online1\Lokale Publizierung\html\aktuell_uebersicht.html.bak4_11
e:\1Pfad\Projekt1\Onlinehilfe\P1_Online1\Lokale Publizierung\html\schulsoftware.htm


### Hier nun die Frage ###

- ist der Delta Ordner auf W.:\ leer, will xcopy wissen, ob Ziel eine Datei oder ein Verzeichnis ist
- lasse ich die bat das 2. Mal laufen (Ergebnis ist ja dieselbe Updatemenge) wird einfach nur überschrieben
- wieso? Da ich in der txt nur komplette Dateipfade habe sind es immer Dateien (OK, ich bin ein Milchmädchen )


Über Hilfe freue ich mich. Programmiersprachen kann ich eigentlich keine (Meine Kompetenz liegt im Inhalt der o.g. Hilfedateien)


Vielleicht gibt es ja auch einen ganz anderen Lösungsansatz für mein (eigentliches) Problem des Delta bildens. Dafür möchte ich aber kein Programm nutzen. Z.B. könnte das Tool Delta Checker genau das: vergleiche A (neuer) mit B (älter) und kopiere die Differenz nach C (Delta). Aber in deren Maske müsste ich 5 x je 3 Zeilen Pfade eingeben / kopieren. Dann bleib ich beim Commander.

Ok, Ende des Romans

Gruß
QuickMix
Mitglied: bastla
11.08.2011 um 15:28 Uhr
Hallo QuickMix und willkommen im Forum!

Vorerst nur mal kurz zu
- ist der Delta Ordner auf W.:\ leer, will xcopy wissen, ob Ziel eine Datei oder ein Verzeichnis ist
Da es keinen Schalter analog zu "/i" für "Ziel ist Datei" gibt, behelfe ich mir damit, am Ende des Zielpfades einen Stern anzufügen - das würde bei Deiner Zeile so aussehen:
for /f "delims=" %%i in (%tmptxt%\dateien_delta.txt) do xcopy "%%i" "w:%%~pnxi*" /Y
- lasse ich die bat das 2. Mal laufen (Ergebnis ist ja dieselbe Updatemenge) wird einfach nur überschrieben
Dann ist ja klar, dass das (bereits vorhandene) Ziel eine Datei ist ...
Anstelle der Zeilen in der Art von
set quelle_id=
kannst Du übrigens am Beginn des Batches
setlocal
verwenden - es werden dann alle Änderungen an Variablen beim folgenden "endlocal" (und ein solches wird automatisch beim Ende des Batches ausgeführt) verworfen ...

Grüße
bastla

P.S.: Code liest sich mit der passenden Formatierung leichter ...
Bitte warten ..
Mitglied: QuickMix
11.08.2011 um 16:39 Uhr
Hallo bastla,

herzlichen Dank. Der Stern erledigt tatsächlich mein Problem.

Bei den Variablen bin ich auf Nr. Sicher gegangen und habe sie so schnell es geht wieder gelöscht.


Zur Formatierung:

Du hast Recht. Ich durfte meinen Beitrag aber ohnehin zweimal schreiben, weil ich selber die Formatierungshilfe aufgerufen habe...und kam dann nicht mehr zurück zu meinem Beitrag. Beim zweiten Mal habe ich den Text dann noch im Editor vorgehalten. Ich werde üben.

Nochmal herzlichen Dank.


Gäbe es denn eigentlich eine andere Lösung für mein Deltavorhaben? Ich habe im Netz nichts gefunden und mir so meine Batch zusammengestückelt. Wobei die paar Zeilen ja sehr gute Arbeit leisten.


Gruß
QuickMix


Die aktualisierte Batch sieht jetzt so aus:

01.
echo off & setlocal 
02.
set tmptxt=w:\_DeltaTest 
03.
del %tmptxt%\dateien_delta.txt 
04.
set quelle_id=e:\1Pfad\Projekt1\Onlinehilfe\P1_Online1 
05.
set ziel1_id=p:\tmpBp-Hilfe\P1_Onlinehilfe 
06.
set ziel2_id=p:\Bp-Hilfe\P1_Onlinehilfe 
07.
xcopy "%quelle_id%\Lokale Publizierung\*.*" "%ziel1_id%\Lokale Publizierung\*.*" /d /s /y 
08.
xcopy "%ziel1_id%\Lokale Publizierung\*.*" "%ziel2_id%\Lokale Publizierung\*.*" /L /d /s /y|find /v "kopiert">%tmptxt%\dateien_delta.txt 
09.
xcopy "%quelle_id%\skripte\*.*" "%ziel1_id%\skripte\*.*" /d /s /y 
10.
xcopy "%ziel1_id%\skripte\*.*" "%ziel2_id%\skripte\*.*" /L /d /s /y|find /v "kopiert">>%tmptxt%\dateien_delta.txt 
11.
for /f "delims=" %%i in (%tmptxt%\dateien_delta.txt) do xcopy "%%i" "w:%%~pnxi*" /Y 
12.
exit
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Zeile 12 aus einer TXT-Datei auslesen und als Datei-Name für die TXT-Datei verwenden (für sämtliche TXT-Dateien in einem Verzeichnis!)

gelöst Frage von MrBratwurstBatch & Shell15 Kommentare

Hallo liebe Batch-Pros, als Newbie stehe ich gerade vor der Aufgabe, dass ich in einem Verzeichnis mit Txt-Files (bzw. ...

Batch & Shell

Mittels Batch alle .txt Dateien eines Verzeichnises ändern

gelöst Frage von mttspeedyBatch & Shell10 Kommentare

Ich habe ca. 10.000 TXT-Dateien in einem Verzeichnis und möchte für alle folgendes durchführen: -> suchen in jeder Datei ...

Batch & Shell

Xcopy jedoch nur die Dateien die nicht älter

gelöst Frage von zeroblue2005Batch & Shell13 Kommentare

Hallo Zusammen, Wie kann ich diese Script anpassen, so dass aus der Quelle nur die Dateien kopiert werden, die ...

Batch & Shell

Xcopy Batch-Datei

gelöst Frage von LauchheimerBatch & Shell3 Kommentare

Tag Leute, Ich habe in einer Batchdatei einen xcopy-Befehl. Dieser soll eine bestimmte Datei kopieren. Diesen führe ich mit ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 1 TagSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 1 TagDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 1 TagWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 2 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Gäste-WLAN durch DD-WRT AP nach einem MikroTik Routerboard
Frage von NukolarLAN, WAN, Wireless16 Kommentare

Hallo, wie der Titel schon sagt möchte ich gerne ein Gäste-WLAN innerhalb eines bestehenden LANs einrichten. Dass die Gäste ...

DSL, VDSL
DSL Monitoring Tool - Quick and dirty?
Frage von george44DSL, VDSL15 Kommentare

Liebe Gemeinde, ich suche ein einfaches und vor allem schnell zu installierendes Monitoring-Tool zur kontinuierlichen Dokumentation (nur) der Internetanbindung. ...

Exchange Server
Outlook findet Postfach nicht
Frage von MaximaxExchange Server11 Kommentare

Hallo, und zwar haben wir auf der Arbeit ein kleines (großes) Exchange 2016 Problem. Exchange meldete gestern, dass die ...

Informationsdienste
Probleme auf dem Server
Frage von LangeLangeInformationsdienste9 Kommentare

Hallo zusammen, ich betreibe die Seite Keine Werbelinks. In der Analyse stellen wir fest, dass die Ladezeit in der ...