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 Verschiedene Dateien aus Unterordner mit Umbenennung verschieben

Mitglied: Lakslo

Lakslo (Level 1) - Jetzt verbinden

23.12.2011 um 14:23 Uhr, 2844 Aufrufe, 5 Kommentare

Hallo Batch-Profis,

ich habe eine Anforderung auf dem Tisch liegen die ich schlichtweg nicht schaffe und bräuchte Eure Hilfe. Es gibt verschiedene PDF Dateien in verschiedenen Unterordner die alle in einen Ausgabe Ordner incl. Datum verschoben werden sollten. Das Problem dabei ist das in den Ordnernamen Informationen stecken die sich dann im Filenamen bzw. in den Outputordnern widerspiegeln sollten.

Ein Beispiel:
Dateien/Ordnerstruktur:
D:\Programme\Ausgabe\Batch10#\M01J12\ABC\SECU.pdf
D:\Programme\Ausgabe\Batch09#\M01J12\ABC\A100\SECU.pdf
D:\Programme\Ausgabe\Batch07#\M01J12\DEF\ASF.pdf
D:\Programme\Ausgabe\Batch07#\M12J11\XYZ\BRA\ASF.pdf
D:\Programme\Ausgabe\Batch03#\M12J11\XYZ\ASF.pdf

- Unterordner BatchXY# - hier verändern sich die Zahlen – prinzipiell sind Zahlen von Batch01# bis Batch25# möglich.
- M01J12 steht für Monat 01 (Januar) und Jahr 2012 … diese Information ist wichtig und sollte dementsprechend geordnet werden.
- ABC/DEF/XYZ: Kennzeichnung der Abteilung – hier kann „alles“ vorkommen
- A100/BRA: Kennzeichnung der Unterabteilung (nicht überall vorhanden) - hier kann „alles“ vorkommen
- *.pdf – PDF Dateien mit unterschiedlichen Namen je nach darin enthaltene Auswertung

--> Ausgabe sollte folgendermaßen erfolgen – der Monats/Jahr Ordner sollte erstellt werden.

D:\Programme\SORTIERUNG\M01J12\SECU_ABC.PDF
D:\Programme\SORTIERUNG\M01J12\SECU_ABC_A100.pdf
D:\Programme\SORTIERUNG\M01J12\ASF_DEF.pdf
D:\Programme\SORTIERUNG\M12J11\ASF_XYZ_BRA.pdf
D:\Programme\SORTIERUNG\M12J11\ASF_XYZ.pdf

Die Dateien sollten verschoben werden und am alten Platz nicht mehr vorhanden sein.
Hat hier wer eine Idee für ein Batchscript?

Danke vorab für Eure Hilfe,
Lakslo
Mitglied: pieh-ejdsch
23.12.2011 um 17:01 Uhr
moin Lakslo,

insofern unter dem Ordner Ausgabe nur diese PDF dateien sind könnte es so gehen.
01.
@echo off &setlocal 
02.
 
03.
set /a Deep = 5 
04.
set "Quelle=D:\Programme\Ausgabe\*.pdf" 
05.
set "Ziel=D:\Programme\SORTIERUNG\" 
06.
 
07.
for /f "delims=" %%i in ('dir /s /b "%Quelle%" ') do for /f "tokens=%Deep%* delims=\" %%a in ("%%~dpi") do if "%%b" neq "" (set "Bname=\%%b" 
08.
	setlocal enabledelayedexpansion 
09.
	set "Bname=!Bname:\=_!" 
10.
	set "Bname=!Bname:~,-1!" 
11.
	@echo if not exist "%Ziel%%%a" md "%Ziel%%%a" 
12.
	@echo move "%%i" "%Ziel%%%a\%%~ni!Bname!%%~xi" 
13.
	endlocal 
14.
15.
pause
Wenn Du die @echo entfernst ist der Batch scharf. Sonst zeigt er nur an.

Gruß Phil
Bitte warten ..
Mitglied: Lakslo
25.12.2011 um 16:38 Uhr
Hallo Phil,

erstmals vielen Dank für Deine Hilfe.
Das Script schaut schon sehr gut aus - vielleicht kannst Du mir auch die letzten Anpassungen noch erklären.

Der Ordner der mit dem Script erstellt wird (dort wo reinkopiert wird) nimmt für den Namen eine Ebene zu früh. Also derzeit heißt er dann z.B. Batch03# - er sollte aber M12J11 heißen.
Beim Dateinamen wird dann genau dieses Datum mitgenommen in den Filenamen (was raus sollte) - der Rest ist bereits super! Diese BatchXY# Bezeichnung sollte daher weder beim erstellenten Ordner noch im File auftauchen.

Kann man auch irgendwie sicherstellen das nur in den BatchXY# Verzeichnissen gesucht wird und nicht im ganzen Root-Ordner (die Variable "Quelle" im Script).

LG und nochmals vielen Dank!
Lakslo
Bitte warten ..
Mitglied: Lakslo
25.12.2011 um 16:49 Uhr
Hallo Phil,

doch noch gecheckt - brauche nur die Deep Variable anpassen dann klappt das auch mit dem Verschieben. Habe da für die Tests etwas mit der Ordnerstruktur gemacht sonst hätte es gleich gepasst.

Jetzt ist also nur noch die Frage mit der Suche offen - Bsp:
D:\Programme\Ausgabe\Batch10#\M01J12\ABC\SECU.pdf
D:\Programme\Ausgabe\Batch05\M01J12\ABC\SECU.pdf

Das Script sollte nur in den # Ordnern suchen und nicht in anderen ...
Hast Du da noch was?

LG
Lakslo
Bitte warten ..
Mitglied: pieh-ejdsch
25.12.2011 um 18:32 Uhr
moin Lakslo,

eine Ebene zu Früh? Hhmmm. Laut Anforderung ist doch (wenn Root Ebene 1) Ebene 5 der Zielname - ach seh grad hast noch gebastelt...
das Filterst Du mit einer zusätzlichen Suchzeichenfolge mit Findstr heraus.

01.
@echo off &setlocal 
02.
 
03.
set /a Deep = 5 
04.
set "Quelle=D:\Programme\Ausgabe\*.pdf" 
05.
set "Ziel=D:\Programme\SORTIERUNG\" 
06.
 
07.
set Filter= /r /c:"[\\]Batch[\ ]*[1-2][0-9]#[\\]M[0-9][0-9]J[0-9][0-9]" 
08.
:: Filter nach regulärem Ausdruck Hilfe unter Findstr /? 
09.
 
10.
for /f "delims=" %%i in ('dir /s /b "%Quelle%" ^|findstr %Filter% ') do for /f "tokens=%Deep%* delims=\" %%a in ("%%~dpi") do if "%%b" neq "" (set "Bname=\%%b" 
11.
	setlocal enabledelayedexpansion 
12.
	set "Bname=!Bname:\=_!" 
13.
	set "Bname=!Bname:~,-1!" 
14.
	@echo if not exist "%Ziel%%%a" md "%Ziel%%%a" 
15.
	@echo move "%%i" "%Ziel%%%a\%%~ni!Bname!%%~xi" 
16.
	endlocal 
17.
18.
pause
01.
findstr /r /c:"\<Batch[\ ]*[0-9]*#\>"
würde rein TheoreTisch ausreichen, aber so wie oben ist bissel sicherer
Du könntest auch noch eine For /d-schleife davorschachteln aber das geht schon so

Gruß Phil
Bitte warten ..
Mitglied: Lakslo
26.12.2011 um 17:09 Uhr
Hallo Phil,

ja das hat geholfen.
Vielen Dank - Du hast mir hier sicher Stunden über Stunden an Recherchen erspart.

LG
Lakslo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch Datei zum verschieben von Dateien aus Unterordnern ?

gelöst Frage von Ghostrider1911Batch & Shell10 Kommentare

Hallo, ich bräuchte eine Batch Datei die Dateien aus Unterordnern verschiebt. Also ich habe folgende Verzeichniss Struktur: Z:\Dateien\Ordner1\M1\ Z:\Dateien\Ordnärx\M1\ ...

VB for Applications

VBS oder Batch um eine Datei in Unterordner zu verschieben

Frage von MrRoyalVB for Applications1 Kommentar

Hallo zusammen, ich bin neu hier und kenne mich leider im Bereich VBS und Batch nicht so gut aus. ...

Batch & Shell

Per Batch Dateien aus Unterordner verschieben

gelöst Frage von ministaBatch & Shell10 Kommentare

Hallo Zusammen Ich habe folgende Struktur: Ich möchte nun dass alle Dateien aus dem Ordner B und deren Subordner ...

Batch & Shell

Dateien in Unterordner anhand Dateinamen mit Trennzeichen verschieben

gelöst Frage von woswasihBatch & Shell2 Kommentare

Grüß Euch! Ich glaub ich habe gerade eine Knopf im Kopf und stehe vor folgenden Problem: Ordner mit hunderten ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...