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 27.04.2010 um 11:31:13 Uhr
...die nach der Kundennummer bennant sind.
Set /a rgc+=1
665
GELÖST

Vergleich von Teilen eines Dateinamens und Verschieben der Dateien

Frage Entwicklung Batch & Shell

Mitglied: ShaneDeak

ShaneDeak (Level 1) - Jetzt verbinden

27.04.2010, aktualisiert 11:31 Uhr, 2909 Aufrufe, 5 Kommentare

Hallo,

ich versuche gerade eine Batch-Datei zu erstellen, die mir folgende Anforderungen erfüllt:

Ich habe zwei Ordner mit tausenden pdf-Dateien. Die Dateinamen sehen so aus: xxx1234.pdf. Wobei die letzten vier Ziffern immer eine Kundennummer darstellen. Die Dateien sollen nun nach dieser Kundennummer sortiert in Ordner gesteckt werden, die nach der Kundennummer bennant sind.
Also: Datei xxx1234.pdf und Datei yyy1234.pdf sollen in den Ordner 1234 verschoben werden.

ich habe schon einige Threads mit einem ähnlichen Problem gefunden, komme aber leider nicht weiter. Über Hilfe würde ich mich sehr freuen.

Gruß ShaneDeak
Mitglied: bastla
27.04.2010 um 10:42 Uhr
Hallo ShaneDeak und willkommen im Forum!

Sollte (ungetestet) etwa so gehen:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Ordner1 mit tausenden pdf-Dateien" 
03.
set "Ziel=D:\PDFnachKunden" 
04.
 
05.
for %%i in ("%Quelle%\*.pdf") do set "Name=%%~ni" & call :ProcessFile "%%i" 
06.
goto :eof 
07.
 
08.
:ProcessFile 
09.
set "Kunde=%Name:~-4%" 
10.
md "%Ziel%\%Kunde%" 2>nul 
11.
echo move %1 "%Ziel%\%Kunde%" 
12.
goto :eof
Das "echo" in Zeile 11 sorgt dafür, dass die Verschiebe-Befehle nur angezeigt werden (die Kundenordner werden allerdings tatsächlich erstellt) - wenn Du ernst machen willst, einfach dieses "echo" entfernen ...

Grüße
bastla

[Edit] Fehlendes "%%i" in Zeile 5 ergänzt [/Edit]
Bitte warten ..
Mitglied: Snowman25
27.04.2010 um 11:05 Uhr
Oder eine modifizierte Version von Datum aus Datei auslesen, Ordner nach Dateidatum erstellen und Datei dorthin kopieren oder verschieben:
01.
@Echo off 
02.
for %%a in (*) do ( 
03.
	if NOT "%%a"=="%0" ( 
04.
		Echo. 
05.
		Echo Verarbeite Datei %%a 
06.
		Echo. 
07.
		Echo ________________________________ 
08.
		Echo. 
09.
		call :fileworker "%%a" 
10.
11.
12.
goto :EOF 
13.
 
14.
:fileworker 
15.
set file=%1 
16.
set fname=%~n1 
17.
set folname=%fname:~-4% 
18.
:work 
19.
if exist %folname%\NUL ( 
20.
	Echo Verschiebe Datei %file% nach %folname% 
21.
	Echo ---- 
22.
	move %file% "%folname%\"%file%  
23.
) else ( 
24.
	Echo Erstelle Verzeichnis %folname% 
25.
	Echo ---- 
26.
	md "%folname%" 
27.
	goto work 
28.
)
Im gewünschten Verzeichnis laufen lassen. Lässt sich auch loggen.
Gruß
Snow
Bitte warten ..
Mitglied: ShaneDeak
27.04.2010 um 12:39 Uhr
Zitat von bastla:
Hallo ShaneDeak und willkommen im Forum!

Sollte (ungetestet) etwa so gehen:
01.
@echo off & setlocal 
02.
> set "Quelle=D:\Ordner1 mit tausenden pdf-Dateien" 
03.
> set "Ziel=D:\PDFnachKunden" 
04.
>  
05.
> for %%i in ("%Quelle%\*.pdf") do set "Name=%%~ni" & call :ProcessFile 
06.
> goto :eof 
07.
>  
08.
> :ProcessFile 
09.
> set "Kunde=%Name:~-4%" 
10.
> md "%Ziel%\%Kunde%" 2>nul 
11.
> echo move %1 "%Ziel%\%Kunde%" 
12.
> goto :eof 
13.
> 
Das "echo" in Zeile 11 sorgt dafür, dass die Verschiebe-Befehle nur angezeigt werden (die Kundenordner werden
allerdings tatsächlich erstellt) - wenn Du ernst machen willst, einfach dieses "echo" entfernen ...

Grüße
bastla

Vielen Dank für den Vorschlag. Leider werden nur die Ordner erstellt, aber die Dateien nicht verschoben (echo habe ich entfernt).


Auch vielen Dank an Snowman25. Die Lösung funktioniert, es hat nur ein Minus-Zeichen in Zeile 17 vor der 4 gefehlt. ;)
Bitte warten ..
Mitglied: Snowman25
27.04.2010 um 12:43 Uhr
Zitat von ShaneDeak:
Auch vielen Dank an Snowman25. Die Lösung funktioniert, es hat nur ein Minus-Zeichen in Zeile 17 vor der 4 gefehlt.
Das muss der Kopierer gefuttert haben. Ups

Habs ausgebessert oben
Bitte warten ..
Mitglied: bastla
27.04.2010 um 13:16 Uhr
Hallo ShaneDeak!
Leider werden nur die Ordner erstellt, aber die Dateien nicht verschoben
Konnten sie mit der unvollständigen Zeile 5 auch gar nicht werden - gemeint wäre eigentlich
for %%i in ("%Quelle%\*.pdf") do set "Name=%%~ni" & call :ProcessFile "%%i"
gewesen (ich trag's der Vollständigkeit halber auch oben nach).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Tipp von HopfmanBatch & Shell16 Kommentare

Ich habe eine ständig wachsende Anzahl von Dateien aus unterschiedlichen Quellen, die in Unterverzeichnisse verschoben werden sollen. So weit ...

Batch & Shell
Dateien mit Teil des Dateinamen per Batch in Unterordner verschieben
gelöst Frage von smitternachtBatch & Shell14 Kommentare

Hallo, ich muß hier Telefonmitschnitte automatisiert ablegen. Die Dateien sehen folgendermaßen aus: Richtung#interneNummerexterneNummer#Datum#Uhrzeit.wav Beispiel: In#24023147770#20160427#135844.wav (eigehend) Out#24 (ausgehend) Nun ...

Batch & Shell
Teile eines Dateinamens ändern mit Batch Datei
gelöst Frage von fffffuuuuuuuhhhhBatch & Shell4 Kommentare

Hallo, ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird: Interpret - Titel _xxxxxx000.mp3 die x stehen für eine ...

Batch & Shell
Dateien bezugnehmend auf Teil des Namens verschieben
gelöst Frage von pbelclBatch & Shell8 Kommentare

Hallo Ihr Lieben, Ich habe schon lange ein Batch laufen, das mir aufgenommene Videos aufgrund des Namens in verschiedene ...

Neue Wissensbeiträge
Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 14 MinutenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless10 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...