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
Kommentar vom Moderator Biber am 03.12.2009 um 18:12:14 Uhr
Moin Traveller,

willkommen im Forum.
Danke für die vorbildlich saubere Frageformulierung/Problembeschreibung.

Grüße Biber

gelöst Datum aus Datei auslesen, Ordner nach Dateidatum erstellen und Datei dorthin kopieren oder verschieben

Mitglied: Traveller

Traveller (Level 1) - Jetzt verbinden

03.12.2009, aktualisiert 18:12 Uhr, 12465 Aufrufe, 14 Kommentare, 1 Danke

Hallo!

Jeder kennt das Problem, dass man viele Bilder mit der Digitalkamera gemacht hat und die Bilder nun systematisch geordnet haben möchte.

Nun gibt es fast zu jeder Kamera eine entsprechende Software. Aber diese wiil nicht jeder installieren, weil sie meist eine abgespeckte Version enthält.

Ich möchte erreichen, dass ein Script das Erstellungsdatum einer Datei ausliest und die Datei dann in einen Ordner mit der Formatierung
yyyy_mm_dd (z.B. 2009_12_03) kopiert oder verschiebt. Sollte der Ordner noch nicht existieren, dann soll er angelegt werden.

Mit der erwähnten Kamerasoftware ist dies meist möglich. Aber nur deswegen die Software installieren, deren Rest ich nicht benötige?

Aber vielleicht kann mir jemand aus dem Forum helfen.

Vielen Dank!
Mitglied: Snowman25
03.12.2009 um 12:26 Uhr
01.
@Echo off
02.
set file=%1
03.
set fdate=%~t1
04.
set fday=%fdate:~0,2%
05.
set fmonth=%fdate:~3,2%
06.
set fyear=%fdate:~6,4%
07.
set folname=%fyear%_%fmonth%_%fday%
08.
:work
09.
if exist %folname%\NUL (
10.
	Echo Verschiebe Datei %file% nach %folname%
11.
	move %file% "%folname%\"%file%
12.
) else (
13.
	Echo Erstelle Verzeichnis %folname%
14.
	md "%folname%"
15.
	goto work
16.
)
Aus dem ordner ausführen, in dem die Bilder liegen
verschiebt eine Datei in einen ordner der nach dem letzten Änderungszeitpunkt benannt ist
Bitte warten ..
Mitglied: Traveller
03.12.2009 um 12:51 Uhr
Vielen Dank für den ersten Lösungsansatz.

Aber es klappt nicht.
Ich ahbe eine Datei namens kopieren.bat erstellt und in den Ordner mit den betreffenden Bildern kopiert.
Inhalt der kopieren.bat ist dieser Code:
@Echo off
set file=%1
set fdate=%~t1
set fday=%fdate:~0,2%
set fmonth=%fdate:~3,2%
set fyear=%fdate:~6,4%
set folname=%fyear%_%fmonth%_%fday%
:work
if exist %folname%\NUL (
Echo Verschiebe Datei %file% nach %folname%
move %file% "%folname%\"%file%
) else (
Echo Erstelle Verzeichnis %folname%
md "%folname%"
goto work
)

Führe ich nun die Batch datei aus, dann geht sie endlos und ich kann nur mit strg+c abbrechen.
Dann lese ich im DOS-Fenster.
Erstelle Verzeichnis ~6,4_~3,2_~0,2
A subdirectory or file ~6,4_~3,2_~0,2 already exists.
Verschiebe Datei nach ~6,4_~3,2_~0,2
The system cannot find this file specified

Und dann rennt es wieder von neuem los, immer in dieser Folge.

Das Verzeichnis
~6,4_~3,2_~0,2
wurde erstellt. In diesem befindet sich aber keine Datei.

Gut, vielleicht ist das noch nicht der richtige Ansatz?
Bitte warten ..
Mitglied: Snowman25
03.12.2009 um 12:58 Uhr
huch.. beim letzten Edit ist ein Satz flöten gegangen... du musst als aufrufparameter eine Datei angeben, die wird dann in den entsprechenden verschoben.
kopieren ist übrigens der falsche name... der bilder werden bloß verschoben
wenn du kurz warten kannst, kann ich dir auch 'n script anbieten, dass einen kompletten ordner durchkämmt
Bitte warten ..
Mitglied: Traveller
03.12.2009 um 13:04 Uhr
klar warte ich gerne!

Es ist ja so, dass ich die Bilder von der Flashkarte auf den Blechtrottel kopiere und dann sollen sie eben in die Struktur gebracht werden.
Wenn es dann geklappt hat, kann ich sie ja löschen.

Danke für deine tolle Hilfe!
Bitte warten ..
Mitglied: Snowman25
03.12.2009 um 13:23 Uhr
du kannst sie genausogut erst von der Karte auf den PC schieben, einfach in i-ein verzeichnis, da steckst du dann die kopieren.bat dazu und schon hast du deine ordnung. hier jetzt die beiden dateien:
builder.bat:
01.
@Echo off
02.
for %%a in (*) do (
03.
	if NOT "%%a"=="builder.bat" (
04.
		if NOT "%%a"=="worker.bat" (
05.
			Echo.
06.
			Echo Verarbeite Datei %%a
07.
			Echo.
08.
			Echo ________________________________
09.
			Echo.
10.
			call worker.bat "%%a"
11.
		)
12.
	)
13.
)
worker.bat:
01.
@Echo off
02.
set file=%1
03.
set fdate=%~t1
04.
set fday=%fdate:~0,2%
05.
set fmonth=%fdate:~3,2%
06.
set fyear=%fdate:~6,4%
07.
set folname=%fyear%_%fmonth%_%fday%
08.
:work
09.
if exist %folname%\NUL (
10.
	Echo Verschiebe Datei %file% nach %folname%
11.
	Echo ----
12.
	move %file% "%folname%\"%file% 
13.
) else (
14.
	Echo Erstelle Verzeichnis %folname%
15.
	Echo ----
16.
	md "%folname%"
17.
	goto work
18.
)
Updated Version, kopiert sich nicht selbst
Bitte warten ..
Mitglied: Traveller
03.12.2009 um 13:39 Uhr
Wow!

Cooles Teil!!!

Über 500 Bilder sind eben in ein paaur Sekunden richtig einsortiert worden!
Klasse!!!

Vielen Dank und noch eine schöne Adventszeit!
Bitte warten ..
Mitglied: Snowman25
03.12.2009 um 14:00 Uhr
Kein Problem, danke und dir auch
Heb dir die Dateien auf, willst ja wahrscheinlich öfter bilder sortieren
Bitte warten ..
Mitglied: Traveller
29.04.2012 um 19:50 Uhr
Übrigens:
ich nutze diese beiden Teile immer noch.

Also nochmals vielen Dank!!
Bitte warten ..
Mitglied: 107785
31.07.2012 um 23:01 Uhr
Zitat von Snowman25:
du kannst sie genausogut erst von der Karte auf den PC schieben, einfach in i-ein verzeichnis, da steckst du dann die kopieren.bat
dazu und schon hast du deine ordnung. hier jetzt die beiden dateien:
builder.bat:
01.
> @Echo off
02.
> for %%a in (*) do (
03.
> 	if NOT "%%a"=="builder.bat" (
04.
> 		if NOT "%%a"=="worker.bat" (
05.
> 			Echo.
06.
> 			Echo Verarbeite Datei %%a
07.
> 			Echo.
08.
> 			Echo ________________________________
09.
> 			Echo.
10.
> 			call worker.bat "%%a"
11.
> 		)
12.
> 	)
13.
> )
14.
> 
worker.bat:
01.
@Echo off
02.
> set file=%1
03.
> set fdate=%~t1
04.
> set fday=%fdate:~0,2%
05.
> set fmonth=%fdate:~3,2%
06.
> set fyear=%fdate:~6,4%
07.
> set folname=%fyear%_%fmonth%_%fday%
08.
> :work
09.
> if exist %folname%\NUL (
10.
> 	Echo Verschiebe Datei %file% nach %folname%
11.
> 	Echo ----
12.
> 	move %file% "%folname%\"%file% 
13.
> ) else (
14.
> 	Echo Erstelle Verzeichnis %folname%
15.
> 	Echo ----
16.
> 	md "%folname%"
17.
> 	goto work
18.
> )
Updated Version, kopiert sich nicht selbst

besteht die möglichkeit die sortierten bilder / ordner in ein anderes verzeichnis zu verschieben!?

z.b. die bilder liegen im ordner "c:\1" sollen aber in den ordner "c:\1_archiv\".
Bitte warten ..
Mitglied: bastla
01.08.2012 um 00:43 Uhr
Hallo c0by1985 und willkommen im Forum!

Du kannst den Pfad einfach jedem "%folname%" (also in den Zeilen 12 und 16 der "worker.bat") voranstellen ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
01.08.2012, aktualisiert um 11:08 Uhr
... bzw, um das etwas übersichtlicher zu gestalten (nur ein Batch nötig):
01.
@Echo off & setlocal
02.
set "Quelle=C:\1\"
03.
set "Ziel=C:\1_archiv\"
04.

05.
for %%a in ("%Quelle%*") do (
06.
    if NOT "%%~nxa"=="%~nx0" (
07.
        Echo Verarbeite Datei "%%a"
08.
        set "fdate=%%~ta"
09.
        setlocal enabledelayedexpansion
10.
        set "fday=!fdate:~0,2!"
11.
        set "fmonth=!fdate:~3,2!"
12.
        set "fyear=!fdate:~6,4!"
13.
        set "folname=!fyear!_!fmonth!_!fday!"
14.
        md "%Ziel%!folname!" 2>nul
15.
        Echo Verschiebe Datei "%%a" nach "!folname!"
16.
        move "%%a" "%Ziel%!folname!\"
17.
        endlocal
18.
    )
19.
)
Bitte darauf achten, dass die Pfade in Zeile 2 und 3 mit "\" enden!

Um die ursprüngliche Funktionalität (Quelle und Ziel sind jeweils der aktuelle Ordner) einfach die Zeilen 2 und 3 weglassen bzw auf
01.
set "Quelle="
02.
set "Ziel="
ändern ...

Schließlich noch eine Drag & Drop-Variante mit vorgegebenem Ziel: Zeile 2 auf
if [%1] neq [] set "Quelle=%~1\"
ändern - damit wird dann entweder ein übergebener Ordner oder der aktuelle Ordner als Quelle verwendet ...

Grüße
bastla
Bitte warten ..
Mitglied: T22WBD
21.06.2019 um 12:49 Uhr
Hallo liebes Forum,

nachdem ich lange etwas rumgespielt und getestet habe, bin ich letztendlich doch auf die Suche gegangen, um ein passendes Script für mich zu finden.
Dieses von bastla ist schon Super. Jedoch möchte ich nur jpg verschieben.
Was muss ich dann im Script anpassen/ändern??

Danke und Gruß
Bitte warten ..
Mitglied: bastla
21.06.2019 um 13:03 Uhr
Hallo T22WBD und willkommen im Forum!

Versuch es (mit Testdaten, weil von mir ungetestet ) und folgender Zeile 5:
for %%a in ("%Quelle%*.jpg") do (
Grüße
bastla
Bitte warten ..
Mitglied: T22WBD
21.06.2019 um 13:22 Uhr
Die Lösung war zu einfach

Danke und schönes Wochenende
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Robocopy Zielverzeichnis mit Dateidatum versehen

Frage von kubjo-jkBatch & Shell3 Kommentare

Hallo Leute, ich würde gerne Bilder einer Speicherkarte via robocopy auf eine Festplatte kopieren lassen und die Bilder gleich ...

Batch & Shell

Datei mit Datum im Namen erstellen

gelöst Frage von pbelclBatch & Shell6 Kommentare

Ich habe mir ein kleines Batch geschrieben, das mir eine Date erstellt, die im Namen das Datum und die ...

JavaScript

Zeit und Datum in Datei schreiben

Frage von MarcysJavaScript2 Kommentare

Hallo, mit Node-Red habe ich den Temperatursensor DHT22 ans Laufen bekommen. Ich habe zwei Node-Funktionen erstellt, die mir die ...

Batch & Shell

Kopieren einer Datei mit Datum per PS

gelöst Frage von xm-bitBatch & Shell4 Kommentare

Hallo, ich brauche mal eure Hilfe. Ich möchte eine Datei per Powershell kopieren. Im Ergebnis soll gleichzeitig das aktuelle ...

Neue Wissensbeiträge
Microsoft
PowerShell script für LAPS
Information von kgborn vor 1 TagMicrosoft5 Kommentare

Kurzer Hinweis für Admins im AD-Umfeld. Ich bin die Tage auf das PowerShell Script der Woche “Local Administrator Password ...

Windows 10
Windows 10 bis Version 1803 und das Zwangs-Upgrade
Information von kgborn vor 1 TagWindows 101 Kommentar

Ich denke, die meisten Admins hier werden Systeme mit Windows 10 Enterprise einsetzen und Updates per WSUS/SCCM oder ähnlichem ...

Microsoft Office
BSI-Empfehlungen für die Office-Konfiguration
Information von kgborn vor 1 TagMicrosoft Office

Kurze Information für Admins, die Office verwalten. Das BSI hat einige Regeln für die Absicherung von Office-Konfigurationen veröffentlicht. Ich ...

Windows 10

Sandy-Bridge plus Nvidia plus Win10 1903 braucht Hotfix

Information von DerWoWusste vor 6 TagenWindows 101 Kommentar

Es gibt ein Problem in der seltenen Konstellation Nvidia-Grafikkarte/Sandy-Bridge-CPU/Win10v1903: die von Nvidia vorgeschlagenen Treiber lassen sich nicht installieren. verlinkt ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 Logonskript greift nicht
Frage von xbast1xWindows 1019 Kommentare

Hallo zusammen, da sich die per GPO gemappten Laufwerke bei allen Usern schließen und das Problem sich nicht lösen ...

SAN, NAS, DAS
SFP+ 10GB Module kompatibel?
Frage von get--4SAN, NAS, DAS18 Kommentare

Grüße euch alle, ich bin in mehreren Schulen für die EDV verantwortlich. In einer Schule haben wir eine SAN ...

Entwicklung
Welche Programmiersprache ist das?
Frage von DschingisEntwicklung17 Kommentare

Hallo zusammen, unser ERP-System ermöglicht es, eigene Ansichten zu bearbeiten. Ich würde mich hier gerne weiterbilden. Kann mir jamand ...

Batch & Shell
Powershell Skript für Reg Datei ändern
gelöst Frage von SoccerdeluxBatch & Shell16 Kommentare

Hallo zusammen, ich muss auf einem Windows 10 Pc ein Skript ausführen lassen was sich alle 5 Minuten wiederholt. ...