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 Ordner nach 8-Stelligen Dateinamen durchsuchen und umbenennen

Mitglied: koeson8

koeson8 (Level 1) - Jetzt verbinden

26.12.2013, aktualisiert 23:24 Uhr, 3396 Aufrufe, 6 Kommentare

Liebes Forum!

Ich bin jetzt schon seit geraumer Zeit auf der Suche nach einer Lösung für folgendes Problem:

Batch-Datei die folgendes kann/macht:

1) Ordner nach 8-stelligen Dateinamen durchsuchen (sind immer *.pdf Dateien)
2) Wenn gefunden, dann unbenennen: §§§1§§ Dateiname §§§§§ Dateiname.Endung

@2) ...habe ich schon eine gute Lösung - Dank administrator.de (wobei statt § immer ein anders Zeichen gemacht wird)
@1) ...war der Plan, evt mit "dir" und 8 Fragezeichen oder Sternchen zu arbeiten, funktioniert leider nicht.

Für Ideen und Inputs wäre ich wircklich sehr dankbar!!!

Schönen 2. Weihnachtstag,

Koeson8

Ps.: so schauts im Moment bei mir aus:

01.
For /F %%i in ('dir /B ????????.pdf') do (
02.
	goto Batch
03.
	goto End
04.
)
05.

06.
:Batch
07.
	For /F %%i in ('dir /B ????????.pdf') do set Dateiname=%%i
08.
	for /f "delims=. tokens=1" %%i in ("%Dateiname%") do set Titel=%%i
09.
	for /f "delims=. tokens=2" %%i in ("%Dateiname%") do set Endung=%%i
10.
	ren "%Dateiname%" "§§§1§§%Titel%§§§§§%Titel%.%Endung%"
11.

12.
:End
13.

14.
Pause
Mitglied: Pjordorf
26.12.2013 um 15:34 Uhr
Hallo,

Zitat von koeson8:
@1) ...war der Plan, evt mit "dir" und 8 Fragezeichen oder Sternchen zu arbeiten, funktioniert leider nicht.
Was funktioniert da nicht? Bitte genau deinen bei dir erzeugten Fehler(n) hier für uns nachvollziehbar reinstellen. Wir könenn zwar deine Fehler erahnen, aber unsere Kistallkuglen hängen noch am Weihnachtsbaum.

Und mit den Code tags wird es allen leichter deinen Code zu lesen. https://www.administrator.de/faq/20#toc-28

Gruß,
Peter
Bitte warten ..
Mitglied: koeson8
26.12.2013 um 15:57 Uhr
Hallo Peter!

Danke für den Foramt-Tipp! Ich bin neu in diesem Forum und deshlab fur konstruktives Feedback immer zu haben!
Zu der Frage "was kunktioniert nicht":

Es gibt keine Fehlermeldung aus, sondern läuft durch. Das Problem ist, dass es nur die letzte Datei in meinem Testordner umbenennt. Wenn ich es nocheinmal durchlaufen lasse, die Vorletzte ....wenn ich dann die Batch-Datei so oft geöffnet habe, dass alle mal umbenannt wurden, fäng sie wieder von unten an und benennt die letzte §§1§§§Name§§§§§Name.pdf um...

Eigentlich würde ich gern alle 8-stelligen Dateinamen unter einmal umbenennen, und falls sie +/- als 8 Stellen haben sollen sie ignonriert werden.

Bei weiteren Fragen oder Unklarheiten gerne nocheinmal Fragen!

Wär ja ein Skandal wenn wir die Kristallkugeln vom Christbaum nehmen müssten!
Bitte warten ..
Mitglied: Pjordorf
26.12.2013 um 17:52 Uhr
Hallo,

Zitat von koeson8:
Es gibt keine Fehlermeldung aus, sondern läuft durch
Du startest deine Batchdatei aber schon in einem sogenannten CMD Fenster/ DOS Fenster aus, oder? Und wenn es keinen Fehler ausgibt, wie kommst du dann da drauf das es einen Fehler macht bzw. erzeugt?

Das Problem ist, dass es nur die letzte Datei in meinem Testordner umbenennt.
Dann tut deine Batch es doch wie du erwarten solltest.

Wenn ich es nocheinmal durchlaufen lasse, die Vorletzte
Oder nicht doch wieder die letzte (nur eben noch nicht umbenannte) deiner ????????.pdf Dateien?

§§1§§§Name§§§§§Name.pdf um...
Was ergibt ein dir /B ????????.pdf bei deinem uns unbekannten OS? Ich gehe davon aus aus du dich im richtigen Ordner bewegst...Hier steht zwar das es dann genau Acht Zeichen sein sollten (und auch sind ) mit der Endung .PDF aber, auch bei mir werden Dateien ausgespuckt mit weniger als 8 Zeichen sowie mit mehr als 8 Zeichen im Dateinamen. (Windows 7 Ult. SP1 64 Bit)
E:\>dir ????????.txt
 Datenträger in Laufwerk E: ist Data
 Volumeseriennummer: EE85-A833

 Verzeichnis von E:\

24.05.2011  19:58               412 Neues Textdokument.txt
18.05.2013  12:19               682 WLANs uebertragen.txt
               2 Datei(en),          1.094 Bytes
               0 Verzeichnis(se), 39.304.200.192 Bytes frei
Ein Dir /X ????????.txt liefert des Rätsels Lösung
E:\>dir /X ????????.txt
 Datenträger in Laufwerk E: ist Data
 Volumeseriennummer: EE85-A833

 Verzeichnis von E:\

24.05.2011  19:58               412 NEUEST~1.TXT Neues Textdokument.txt
18.05.2013  12:19               682 WLANSU~1.TXT WLANs uebertragen.txt
               2 Datei(en),          1.094 Bytes
               0 Verzeichnis(se), 39.304.200.192 Bytes frei
Aha, der Lange dateiname sowie der Kurze (8.3) dateiname werden beim DIr berücksichtigit...

Eigentlich würde ich gern alle 8-stelligen Dateinamen unter einmal umbenennen, und falls sie +/- als 8 Stellen haben sollen sie ignonriert werden.
Hmmm. Trivial, hört sich so an, aber dann kommen noch die redmonder Praktikantinen ins Spiel (wie einige hier zu sagen Pflegen).
http://stackoverflow.com/questions/11972572/how-can-i-delete-files-with ...

Gruß,
Peter
Bitte warten ..
Mitglied: bastla
26.12.2013, aktualisiert um 23:25 Uhr
Hallo koeson8 und willkommen im Forum!

Wenn zumindest einmal die Umbenennung richtig erfolgt, könnte das, basiend auf Deinem Code und ungetestet, etwa so gehen:
For /F %%i in ('dir /B ????????.pdf') do ren "%%i" "§§§1§§%%~ni§§§§§%%i"
Näheres dazu unter "for /?" (ziemlich gegen Ende der Ausgabe) bzw im einschlägigen Tutorial zur FOR-Schleife ...

Falls Du übrigens wirklich Variablen innerhalb der Schleife erzeugen und verwenden müsstest, wäre "delayedExpansion" Dein Stichwort.

[Edit]
Hinsichtlich der Beschränkung auf genau 8 Zeichen im Namen würde sich dann eher
for /f %%i in ('dir /b *.pdf^|findstr /irx "........\.pdf"') do ren "%%i" "§§§1§§%%~ni§§§§§%%i"
anbieten.
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: koeson8
26.12.2013 um 23:23 Uhr
Hallo Peter und Bastla!

Danke vielmals für eure Hilfe!!!

Weiter gebracht hat mich:

Zitat von bastla:

Hinsichtlich der Beschränkung auf genau 8 Zeichen im Namen würde sich dann eher
for /f %%i in ('dir /b *.pdf^|findstr /irx "........\.pdf"') do ren
> "%%i" "§§§1§§%%~ni§§§§§%%i"
> 
anbieten.

Funktioniert wirklich sauber!

Der einzige kleine Schönheitsfehler ist, dass es statt § immer ° schreibt - womit könnte das zu tun haben?

@Peter: ich habe eine *.bat Datei gemacht und führe den code per Doppelklick aus...
@bastla: könntest du mir von ...('dir /b *.pdf^|findstr /irx "........\.pdf"')... die Funktionsweise und was dahinter steckt erklären?

Nochmal großes DANKE an euch 2!
Bitte warten ..
Mitglied: bastla
27.12.2013 um 00:15 Uhr
Hallo koeson8!

Vorweg zu
Der einzige kleine Schönheitsfehler ist, dass es statt § immer ° schreibt - womit könnte das zu tun haben?
Das hat mit dem Unterschied zwischen ANSI (Windows) und ASCII (CMD) zu tun und lässt sich durch Umstellen der Code-Page von (normalerweise) 850 auf 1252 per
chcp 1252
oder die Verwendung eines Editors, der eben ASCII-codiert speichern kann, beheben. Allenfalls kannst Du im Windows-Editor auch das Zeichen
õ
verwenden.
Zur Funktionsweise von "^|findstr /irx "........\.pdf" ("{dir /b" hattest Du ja selbst schon verwendet): Es wird damit einfach jede Zeile der Ausgabe (= jeder Dateiname) durch einen Filter geschickt ("gepiped" - in der Schleife ist anstatt | die "escapte" Fassung ^| zu verwenden), der nur genau (wird duch "/x" erreicht; das "r" wäre nicht unbedingt erforderlich)
  • 8 beliebige Zeichen (.),
  • einen Punkt (die Schreibweise "\." sorgt dafür, dass eben nicht irgendein Zeichen, sondern nur ein Punkt an dieser Stelle akzeptiert wird) und
  • pdf (wegen des "/i" ohne Unterscheidung zwischen Groß- und Kleinbuchstaben)
"durchlässt", sodass nur die passenden Dateinamen zur weiteren Verarbeitung zur Verfügung stehen - siehe dazu "findstr /?" ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
For-Schleifen 8
gelöst Frage von IleiesBatch & Shell5 Kommentare

Hallo zusammen, Inzwischen habe ich einen großen Teil des For-Schleifen Tutorials gelesen, verstanden und umgesetzt. Einige Threads haben sich ...

Router & Routing
Debian 8 Port Öffnen
Frage von CitytowRouter & Routing6 Kommentare

Mahlzeit Liebe Kollegen, ich verzweifel Langsam, ich versuche jetzt schon seit zwei Tagen auf einer Debian Instanz ein Port ...

Notebook & Zubehör
HP Recovery Windows 8
gelöst Frage von EduuaardNotebook & Zubehör4 Kommentare

Hallo zusammen Ich habe ein Notebook, welches nicht mehr aufstartet. Es handelt sich um ein HP Spectre 13 x2 ...

Informationsdienste
PHP-IIS 8 Websitefehler
Frage von BlacckyInformationsdienste2 Kommentare

Hallo liebe Forum Nutzer, Und zwar wollte ich Cloud/Mail(Website)/Forum Server jemanden zur Verfügung stellen. Für Tests habe ich die ...

Neue Wissensbeiträge
Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 34 MinutenHyper-V1 Kommentar

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Zusammenarbeit

Verfügbar - Samsung PCoIP Zero Client NB-NH (40 Stück)

Tipp von loop.12 vor 2 StundenZusammenarbeit1 Kommentar

Wenn jemand braucht, ich habe 40 Stück: - Samsung PCoIP Zero Client NB-NH - PCoIP Client - - Preis ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 6 StundenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Tipp von Snowbird vor 2 TagenHumor (lol)8 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Heiß diskutierte Inhalte
Microsoft
Windows 10 - Kombination von lokalen Benutzerkonten und Benutzern aus einer Domäne
Frage von PappnaseVxVVMicrosoft21 Kommentare

Hi, würde gerne folgendes realisieren, von dem ich gern wüsste, ob es geht. Ich habe einen Raum mit 3 ...

Netzwerkgrundlagen
Windows Server über Außen-IP nicht ansprechbar
Frage von uups81Netzwerkgrundlagen18 Kommentare

Hallo! Es gibt mehrere Windows Server (2016, 2019), die über einen zweiten Netzwerkadapter in einem lokalen Netzwerk miteinander verbunden ...

Windows 10
Windows 10 druckt nicht mehrere Kopien?
Frage von StefanKittelWindows 1016 Kommentare

Hallo, ich hatte gerade einen Anruf eines Kunden. Sein neuer PC (Win 10 1903) druckt nicht mehr mehrere Seiten ...

Grafikkarten & Monitore
Grafikkarten Angebot auf Amazon
gelöst Frage von NudellordGrafikkarten & Monitore16 Kommentare

Hallo Community, ich suche eine neue Grafikkarte und bin auf die Nvidea Gforce GTX 1080 ti gestoßen. Und dabei ...