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 Dateinamen prüfen und evtl. umbenennen

Mitglied: Hausen

Hausen (Level 1) - Jetzt verbinden

02.09.2010 um 14:06 Uhr, 6064 Aufrufe, 6 Kommentare

Hallo Forum,

ich habe in einem Ordner mehrere pdf-Dateien die wie folgt aussehen:

OB1.pdf
OB82.pdf
OB100.pdf
FC1.pdf
FC20.pdf
FC100.pdf
UDT1.pdf
UDT2.pdf

usw...

Wie oben schon geschrieben möchte ich diese Dateien nun umbenennen und zwar wie folgt.
Ich möchte überprüfen welche Anzahl an Zahlen der Dateiname enthält und diese entsprechend
mit Nullen auffüllen, so dass immer 3 Zahlen im Dateinamen enthalten sind. Die Nullen sollen
immer vor der vorhandenen Zahl eingefügt werden.
Es sollte danach dann so ausshen

OB001.pdf
OB082.pdf
OB100.pdf
FC001.pdf
FC020.pdf
FC100.pdf
UDT001.pdf
UDT002.pdf

Kann mir da jemand Helfen?

Danke und Gruss

Norbert
Mitglied: LotPings
02.09.2010 um 20:15 Uhr
Hallo Norbert,
die folgende Batchdatei verarbeitet alle Pdf-Dateien im aktuellen Verzeichnis deren Namen eine beliebige Anzahl Buchstaben gefolgt von mindestens einer Ziffer beinhaltet.
01.
:: Trail#3pl.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
@Echo off 
03.
For /f "delims=" %%A in ( 
04.
  'Dir /B/A-D *.pdf ^|findstr /i "[a-z][a-z]*[0-9][0-9]*\.pdf" ' 
05.
    ) Do For /f "tokens=1 delims=0123456789" %%B in ( 
06.
      "%%~nA" 
07.
        ) do Call :Proc "%%~fA" "%%B" 
08.
Pause 
09.
goto :Eof 
10.
:Proc 
11.
Set "Name=%~n1" 
12.
Set "Prefix=%~2" 
13.
Call Set Zahl=100%%Name:%Prefix%=%% 
14.
If %Zahl% GTR 10099 goto :Eof 
15.
Echo Ren %1 "%Prefix%%Zahl:~-3%%~x1" 
16.
Ren %1 "%Prefix%%Zahl:~-3%%~x1"
Wenn die Ausgabe auf dem Bildschirm korrekt erscheint, das Echo in der letzten Zeile (und ggfs den Pause Befehl) entfernen.
Auf Wunsch erläutere ich gerne den Algorhytmus.

Gruß
LotPings

Edit: Einige Änderungen eingebaut (unter anderem Fehler bei 2. Durchlauf mit führenden Nullen)
Bitte warten ..
Mitglied: Biber
02.09.2010 um 21:14 Uhr
Moin Hausen und Lordchen,

wir befinden uns in einem Forum, in dem ich mich über ganz oft über den abschliessenden Kommentar eines Fragestellers freue,
wenn aus diesem Kommentar ein "Ahhh, JETZT hab ich's verstanden!" durchklingt.
Ist mir 100 mal lieber als ein "Danke, klappt."

Der Unterbereich "Batch & Shell", in dem wir uns hier befinden, ist zudem ein Unter-Unterbereich von "Entwicklung".
Und für mich gehört zum "Entwickeln" auch das Verstehen (bzw. das Verständlich-Machen) der Strategie, des Algorithmus dazu.

Von daher, @LotPings, bin ich natürlich spontan begeistert von der guten Idee und der eleganten Umsetzung.
Aber mit dem Angebot "Auf Wunsch erläutere ich gerne..." eher unglücklich.

Ich würde die letzte Zeile noch dahingehend abändern, dass nicht versucht wird, Dateien umzubenamsen, die schon der "neuen" Namenskonvention entsprechen.

Also:
01.
::..... 
02.
:: Statt bisher letzte Zeile: 
03.
::echo Ren %1 "%Prefix%%Zahl:~-3%%~x1" 
04.
::-- jetzt neu letzte Zeile 
05.
if "%~n1" NEQ "%Prefix%%Zahl:~-3%" echo Ren %1 "%Prefix%%Zahl:~-3%%~x1"
unterschied (zuerst mit alter Zeile, zweiter Durchlauf mit neuer letzter Zeile):
>Lotpinx_Trail#3pl.cmd 
if "test1" NEQ "test001" Ren "F:\schnipsel\test1.pdf" "test001.pdf" 
if "test21" NEQ "test021" Ren "F:\schnipsel\test21.pdf" "test021.pdf" 
if "test231" NEQ "test231" Ren "F:\schnipsel\test231.pdf" "test231.pdf" 
Drücken Sie eine beliebige Taste . . . 
 
(=21:09:42  F:\schnipsel=) 
>Lotpinx_Trail#3pl.cmd 
Ren "F:\schnipsel\test1.pdf" "test001.pdf" 
Ren "F:\schnipsel\test21.pdf" "test021.pdf" 
Drücken Sie eine beliebige Taste . . .
Grüße
Biber
Bitte warten ..
Mitglied: Hausen
03.09.2010 um 08:37 Uhr
Hallo LotPings und Biber,

astrein, genau das was ich brauche. Über eine Erläuterung wäre ich sehr dankbar. Verstehe leider nicht alles.

Habe nur ein Problem . Im Dos-Fenster zeigt er mir alles richtig an und meldet auch keine Fehler aber er benennt die
Dateien nicht um.

Habe die Dateien und den Ordner auch mal an eine andere stelle kopiert, ohne Erfolg.
Das einzige was ist, wenn ich auf die Ordnereigenschaften gehe, ist schreibgeschützt angehackt aber gegraut.
Kann das aber nicht abwählen bzw. ist ist der hacken weg und danach direkt wieder da.

Könnt Ihr Euch das erklären?

Gruss Norbert

P.S. Arbeite mit XP SP3
Bitte warten ..
Mitglied: LotPings
03.09.2010 um 12:25 Uhr
Hallo Norbert,

Ich gehe mal davon aus das du den Echo-Befehl entfernt hattest?
Ansonsten hört es sich nach einem Rechte/Schreibschutz-Problem an, schau mal mit attrib *.pdf nach.

@Biber, stimme dir vorbehaltlos zu, war gestern etwas Erklärungsmüde

Zur Erläuterung:
die erste For-Schleife in Z3 nudelt alle vom Dir kommenden und von dem regulären Ausdruck des Find auf Buchstaben/Ziffern gefilterten pdf-Dateien durch,
die zweite For-Schleife in Z5 trennt das Prefix (=token 1) von der folgenden Zahl ab indem alle Ziffern als delimiter gesetzt werden.
Mit dem kompletten Dateinamen als Argument 1 und dem ermittelten Prefix als Argument 2 wird die Subroutine Proc aufgerufen.
In der Sub :Proc wird nur der Namensbestandteil der Variable Name und Arg2 der Variable Prefix zugewiesen
Der Pseudo Call in Z13 dient in Verbindung mit gedoppelten %-Zeichen zur verzögerten Auswertung von
%%NAME:%Prefix%=%% dies löscht den ermittelten Prefix aus dem Namen so das nur die Zahl übrig bleibt.
Z13 musste ich ändern weil der alte Set /A Probleme mit bereits enthaltenen führenden Nullen hatte
Da durch den Find sichergestellt ist, das wirklich nur Ziffern in der Zahl sind, und ich nur umbenennen will, wenn weniger als 3 Stellen vorhanden sind hänge ich vor die Zahl 100, ist Zahl größer als 10099 brauche ich nichts zu tun und verlasse die Sub. Dies erübrigt dann auch Bibers zusätzliche If-Abfrage.

Gruß
LotPings
Bitte warten ..
Mitglied: Hausen
03.09.2010 um 13:17 Uhr
Hallo zusammen,

habe den Fehler gefunden

bei dem Änderungsvorschlag von Bieber hat sich der Fehlerteufel eingeschlichen

01.
::-- jetzt neu letzte Zeile 
02.
if "%~n1" NEQ "%Prefix%%Zahl:~-3%" echo Ren %1 "%Prefix%%Zahl:~-3%%~x1"
In der Zeile muss das "echo" entfernt werden

01.
::-- jetzt neu letzte Zeile 
02.
if "%~n1" NEQ "%Prefix%%Zahl:~-3%" Ren %1 "%Prefix%%Zahl:~-3%%~x1"
So das der funktionierende Code wie folgt aussieht:

01.
:: Trail#3pl.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
@Echo off 
03.
For /f "delims=" %%A in ( 
04.
  'Dir /B/A-D *.pdf ^|findstr /i "[a-z][a-z]*[0-9][0-9]*\.pdf" ' 
05.
    ) Do For /f "tokens=1 delims=0123456789" %%B in ( 
06.
      "%%~nA" 
07.
        ) do Call :Proc "%%~fA" "%%B" 
08.
Pause 
09.
goto :Eof 
10.
:Proc 
11.
Set "Name=%~n1" 
12.
Set "Prefix=%~2" 
13.
Call Set Zahl=100%%Name:%Prefix%=%% 
14.
If %Zahl% GTR 10099 goto :Eof 
15.
Echo Ren %1 "%Prefix%%Zahl:~-3%%~x1" 
16.
if "%~n1" NEQ "%Prefix%%Zahl:~-3%" Ren %1 "%Prefix%%Zahl:~-3%%~x1"
Herzlichen Dank Euch beiden für die rasche und kompetente Hilfe!!

Gruss Norbert
Bitte warten ..
Mitglied: LotPings
03.09.2010 um 13:24 Uhr
Hallo Norbert,

wie ich in der Erläuterung schrieb, ist in der obigen Version die zusätzliche If-Abfrage in Z16 Hyperfluid = überflüssig.
Bereits 3-Stellige Zahlen passieren nicht durch die Zeile 14.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Dateinamen automatisch umbenennen
Frage von chrisschmitt93Windows Tools2 Kommentare

Hallo zusammen, könnte mir freundlicherweise einer ein Skript zukommen lassen , das automatisch alle Ä in AE ,Ö ind ...

Batch & Shell
Dateinamen mit Powershell umbenennen ???
gelöst Frage von lexuraBatch & Shell2 Kommentare

Hallo, Ich benötige ein Script mit dem ich eine MP3 Sammlung umbenennen kann. Die Dateien lauten im Ursprung alle ...

Batch & Shell
Dateinamen Umbenennen nach Ersetzten
gelöst Frage von batchnewbieBatch & Shell9 Kommentare

Hallo, ich experimentiere ein wenig und bin ein einem Punkt, wo ich nicht weiter weiß. Ich lese ein Dateinamen ...

Batch & Shell

Batch - Dateinamen auslesen, umbenennen + dreistellige Zahl vor bisherigen Dateinamen setzen.

Frage von citroendsvierBatch & Shell4 Kommentare

Hallo und guten Morgen, ich möchte für drei Ordner (2011, 2013, 2014) eine Batch schreiben, die die darin enthaltenen ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Tipp von hardykopff vor 10 MinutenWindows 10

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 2 StundenAdministrator.de Feedback8 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 20 StundenHumor (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 1 TagGoogle 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
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

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 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...