Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateien mit Datum versehen und xcopy

Frage Entwicklung Batch & Shell

Mitglied: RickTonalis

RickTonalis (Level 1) - Jetzt verbinden

24.06.2011 um 17:01 Uhr, 7162 Aufrufe, 13 Kommentare

Hallo liebe Forumsgemeinde

Ich möchte gern alle Bilder aus einem Ordner in einen anderen Ordner mitsamt der Ordnerstruktur kopieren. Dabei sollen die Bilder zusätzlich zu ihrem eigentlichen Namen mit einem Datum benannt werden.
xcopy übernimmt das kopieren recht unkompliziert.

xcopy C:\Quelle\*.jpg C:\Ziel\*.jpg /E /Y

Wenn ich jedoch die Dateien mit dem Datum versehen will:

xcopy C:\Quelle\*.jpg C:\Ziel\%date:~-10,2%_%date:~-7,2%_%date:~-4%*.jpg /E /Y

erhalte ich immer folgende Fehlermeldung:

"Zweiter Dateiname konnte nicht so erweitert werden, dass er zum ersten passt."

xcopy fügt das Datum dem Dateinamen nicht hinzu, sonder überschreibt den alten.
gibt es hierfür eventuell eine Lösung?
Über Antworten würde ich mich sehr freuen.
Mitglied: Skyemugen
24.06.2011 um 17:10 Uhr
Aloha und willkommen im Forum,

du benötigst dafür eine for-Schleife, wenn du fit bist, kannst du dir mit Hilfe von for /? und diesem Tutorial zur FOR-Schleife die Sache ganz einfach selbst hinzaubern

Solltest du Probleme oder Fragen dann dazu noch haben, einfach melden.

greetz André
Bitte warten ..
Mitglied: 60730
24.06.2011 um 17:12 Uhr
moin,

*.jpg
C:\Ziel\%date:~-10,2%_%date:~-7,2%_%date:~-4%*.jpg
kann ja nicht, du mußt eine Schleife drumrum zimmern.

for /R C:\Quelle\ %a in (*.jpg) do echo xcopy %a.jpg C:\Ziel\%date:~-10,2%_%date:~-7,2%_%date:~-4%%~nxa /E /Y

Gruß

edit


@ Skye - oda so...
wobei das ganze natürlich ziemlich schräg ist..
  • läuft diese Zeile an zwei verschiedenen Tagen, gibts doppelte gemoppelte, an drei Tagen usw usf.....
/edit
Bitte warten ..
Mitglied: Skyemugen
24.06.2011 um 17:15 Uhr
Aloha T-Mo,

was' mit dir heute los? Nimmst gleich die Arbeit ab und das bei einem Einzeiler? Tze tze tze, so kenne ich dich gar nicht *fg* - so bleibt da die Lernerfahrung für den TE?

greetz André
Bitte warten ..
Mitglied: 60730
24.06.2011 um 17:18 Uhr
[1/2OT]
Zitat von Skyemugen:
Aloha T-Mo,

was' mit dir heute los? Nimmst gleich die Arbeit ab und das bei einem Einzeiler? Tze tze tze, so kenne ich dich gar nicht
*fg* - so bleibt da die Lernerfahrung für den TE?

greetz André

  • Hallo
  • incl. Beispiel, was er bereits hat
  • kein @echo off
  • kein linksfalschfehler

... da kann man schonmal als alter einzeller nen einzeiler opfern

[/1/2OT]
Bitte warten ..
Mitglied: RickTonalis
24.06.2011 um 17:21 Uhr
Um Gottes Willen!
Ihr seid ja bombastisch schnell.
War nur einmal im Keller und schon ist da ne Lösung!
Beindruckend.
Mit tiefen Verneigungen
Vielen Dank
Bitte warten ..
Mitglied: Skyemugen
24.06.2011 um 17:22 Uhr
[¾ OT] Aber er hat keine Codeformatierung genutzt Skandal![/¾ OT]
Bitte warten ..
Mitglied: bastla
24.06.2011 um 17:28 Uhr
@T-Mo
Etwas stimmiger (vor allem, wenn dann das "echo" weg sein wird), wäre es so:
for /R C:\Quelle\ %a in (*.jpg) do echo xcopy "%a" "C:\Ziel\%date:~-10,2%_%date:~-7,2%_%date:~-4%_%~nxa*" /Y
Auch wäre das Zusammensetzen (und Speichern in einer Variablen) des Datums vorweg zu empfehlen ...

Grüße
bastla
Bitte warten ..
Mitglied: RickTonalis
24.06.2011 um 17:48 Uhr
Hallo nochmal,
leider läuft es so noch nicht.
Ich kann auch keinen Fehler auslesen, weil mein "pause" am Ende der Datei nichts bewirkt.
Habt Ihr vielleicht noch einen Tipp?
Bitte warten ..
Mitglied: bastla
24.06.2011 um 19:26 Uhr
Hallo LePimpon!

Die Zeile war auch zur Direkteingabe in der CMD-Shell gedacht - wenn Du sie in einem Batch verwenden willst, musst Du die Prozentzeichen der Laufvariablen verdoppeln:
01.
@echo off & setlocal 
02.
set "Quelle=C:\Quelle" 
03.
set "Ziel=C:\Ziel" 
04.
set "Typ=jpg" 
05.
 
06.
set "Datum=%date:~-10,2%_%date:~-7,2%_%date:~-4%" 
07.
for /R "%Quelle%" %%a in (*.%Typ%) do echo xcopy "%%a" "%Ziel%\%Datum%_%%~nxa*" /Y
Solange das "echo" in der letzten Zeile steht, wird nur der Kopierbefehl angezeigt, aber nicht ausgeführt ...
Was es übrigens mit "%%~nxa" (Kurzform für "%%~na%%~xa") auf sich hat, erfährst Du mit "for /?" (falls Du lange genug durchhältst ) ...

Grüße
bastla

P.S.: Das Datum würde ich im Zweifelsfall "JJJJ-MM-TT" schreiben ...
Bitte warten ..
Mitglied: RickTonalis
24.06.2011 um 19:51 Uhr
Super, vielen Dank.
Mit dem Datum hast du Recht, das lässt sich wesentlich besser sortieren. Es gibt nur noch ein Problem. Vielleicht hatte ich das nicht ganz klar ausgedrückt. Die Bilder müssten mit der entsprechenden Ordnerstruktur kopiert werden. Der Einzeiler vom Anfang übernahm das, überschrieb aber wie gesagt leider die Dateinamen, wenn ich diese erweitern wollte.
for /? wird schon ganz gebannt gelesen...
Kann ich für die jeweiligen Ordner evtl einen Teilstring von %%~dpa benutzen? Wenn ja, wie lese ich den aus?
Grüße
LePimpon
Bitte warten ..
Mitglied: bastla
24.06.2011 um 20:06 Uhr
Hallo LePimpon!

Das sollte sich auch noch hinbekommen lassen:
01.
@echo off & setlocal 
02.
set "Quelle=C:\Quelle" 
03.
set "Ziel=C:\Ziel" 
04.
set "Typ=jpg" 
05.
 
06.
set "Datum=%date:~-4%_%date:~-7,2%_%date:~-10,2%_" 
07.
for /R "%Quelle%" %%a in (*.%Typ%) do set "Quellpfad=%%~dpa" & call :ProcessFile "%%a" 
08.
goto :eof 
09.
 
10.
:ProcessFile 
11.
call set "Zielpfad=%%Quellpfad:%Quelle%=%Ziel%%%" 
12.
echo xcopy %1 "%Zielpfad%%Datum%_%~nx1*" /EY 
13.
goto :eof
Da hier eine String-Ersetzung im Dateipfad erfolgt (%Quelle% wird durch %Ziel% ersetzt - siehe dazu "set /?"), kann nicht mit der Schleifenvariablen (%%a) gearbeitet werden, sondern es muss eine "gewöhnliche" Variable (%Quellpfad%) verwendet werden. Diese wird in der Schleife erstellt und dann in einem Unterprogramm verarbeitet.

Diesem Unterprogramm wird auch der komplette Dateipfad "%%a" übergeben. Da sich das Unterprogramm wie ein weiterer Batch verhält, kommt dort die übergebene Variable "%%a" als Parameter "%1" an.

Grüße
bastla
Bitte warten ..
Mitglied: RickTonalis
24.06.2011 um 20:33 Uhr
Also, was soll ich sagen. Vielen herzlichen Dank.
Funktioniert perfekt. Ein wunderschönes Wochenende wünsche ich!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Xcopy Batch-Datei (3)

Frage von Lauchheimer zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach xcopy feststellen, ob Datei kopiert wurde oder nicht (9)

Frage von Scar61 zum Thema Batch & Shell ...

Batch & Shell
gelöst Xcopy-script kopiert nur 1 datei? (2)

Frage von f0rml0s zum Thema Batch & Shell ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LKDNDK12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (21)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Drucker und Scanner
Erfahrungen mit Enterprise-Tintenstrahldruckern A4 und A3 (13)

Frage von User1000 zum Thema Drucker und Scanner ...