Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Teile von Dateinamen löschen

Frage Entwicklung Batch & Shell

Mitglied: truecolor

truecolor (Level 1) - Jetzt verbinden

22.10.2008, aktualisiert 23.10.2008, 4905 Aufrufe, 8 Kommentare

Hallo zusammen,

leider gibt es kein mir bekanntes Programm, dass diese kleine Aufgabe erledigt:

ich habe über hunterte verschiedene Verzeichnisse auf einer Platte verteilt dateien liegen, die z.B. so ausschauen

asdfjkl_38485.txt
asdfjkl_4574.txt
asdfjkl_445649459.txt

...

Nun möchte ich den Anfangsteil "asdfjkl_" in einem Batch entfernen lassen. Sprich, die ganze Platte durchforsten
und alle Dateien, die den Anfangs-Suchstring "asdfjkl_" besitzen, eben diesen Anfangsteil löschen.

Ist das viel Arbeit sowas zu stricken? Ich wüßte nicht, wo ich anfangen sollte.


Gruß ...Frank
Mitglied: bastla
22.10.2008 um 20:35 Uhr
Hallo truecolor!

Das sollte etwa so gehen:
01.
@echo off & setlocal 
02.
set "Basis=D:\Testordner\mit wenigen Dateien\" 
03.
set "Prefix=asdfjkl" 
04.
set "Delimiter=_" 
05.
set "Ext=.txt" 
06.
 
07.
for /f "delims=" %%i in ('dir /s /b /a-d "%Basis%%Prefix%%Delimiter%*%Ext%"') do for /f "tokens=1* delims=%Delimiter%" %%a in ("%%~nxi") do if not exist "%%~dpi%%b" (echo ren "%%i" "%%b") else (echo "%%i" konnte nicht umbenannt werden)
Zum Testen könntest Du für den Basisordner (der am Ende immer einen "\" haben muss) einen Ordner mit nur wenigen Dateien angeben, ansonsten auch zB "D:\" für das gesamte Laufwerk "D:".

Sollte eine Datei nicht umbenannt werden können, weil eine gleichnamige Datei bereits existiert, wird eine entsprechende Meldung ausgegeben.

Grüße
bastla
Bitte warten ..
Mitglied: truecolor
23.10.2008 um 07:30 Uhr
Hallo Basla,

und erst mal vielen Dank.

Jetzt hab ich nochmal nach den Datein geschaut und mir ist ein kleiner Fehler unterlaufen. Die Dateien sehen so aus:

- die Extensions sind nicht alle gleich
sind teilweise einige gezipt

- die Trennung besteht aus einen Leerzeichen
Ersetze ich nun den Parameter als set "Delimiter= ", wird nix ersetzt, da das Leerzeichen in der Form wohl nicht erkannt wird. Auch %20 kann nicht eingesetzt werden, dann findet das Prg keine Dateien.

- in dem zu löschenden Teil befindet sich auch noch ein Leerzeichen

Beispiel:
asdf jkl 38485.txt
asdf jkl 4574.zip
asdf jkl 445649459.prr
asdf jkl 770694.xxx

Was müßte ich verändern, damit unter den Voraussetzungen die Dateien gefunden und bearbeitet werden?

Im Voraus vielen Dank.

Grüße ... Frank
Bitte warten ..
Mitglied: bastla
23.10.2008 um 08:28 Uhr
Hallo truecolor!

Die Dateien sehen so aus: ...
Ist ja kaum ein Unterschied ...

Versuch es damit:
01.
@echo off & setlocal 
02.
set "Basis=D:\" 
03.
set "Prefix=asdf jkl" 
04.
set "Delimiter= " 
05.
set "Ext=.*" 
06.
 
07.
for /f "delims=" %%i in ('dir /s /b /a-d "%Basis%%Prefix%%Delimiter%*%Ext%"') do for /f "tokens=2* delims=%Delimiter%" %%a in ("%%~nxi") do if not exist "%%~dpi%%b" (echo ren "%%i" "%%b") else (echo %%i konnte nicht umbenannt werden)
Grüße
bastla
Bitte warten ..
Mitglied: truecolor
23.10.2008 um 09:06 Uhr
Hallo bastla,

so langsam kommen die ein oder anderen "aha"´s

Im command-fenster kann ich schön beobachten, was die Zeilen bewirken.

Nur .. es wird nix umbenannt.

Der Ergebnis-String sieht genauso aus, wie er sein sollte, nur bewegen tut sich am Ende nix.

Grüße ... Frank
Bitte warten ..
Mitglied: bastla
23.10.2008 um 09:47 Uhr
Hallo truecolor!

Gewohnheitsmäßig schreibe ich bei eher heiklen Batches ein "echo" vor den eigentlichen Befehl, um gefahrlos testen zu können, da (wie Du feststellen konntest ) dann eben der Befehl nur angezeigt wird.

Genau dieses "echo" steht immer noch vor dem für das Umbenennen zuständigen
ren "%%i" "%%b"
- also einfach entfernen, und dann kannst Du auch den Ernstfall testen ...

Grüße
bastla
Bitte warten ..
Mitglied: truecolor
23.10.2008 um 11:28 Uhr
Hallo bastla,

jetzt mußte ich aber mal tüchtig loslachen. Dass ich das nicht gleich selbst gesehen hatte. Schande über mich

Aber anscheinend war ich ja auch nicht ganz doof, habe nämlich das zu editierende Verzeichniss komplett auf einen anderen PC kopiert um es dort als Sandkasten zu "quälen".


Vielen Dank und Gruß ... Frank

PS. läuft gerade ... und absolut genial ... super super super
Bitte warten ..
Mitglied: truecolor
23.10.2008 um 12:05 Uhr
...
der Explorer zeigte mir bei einer Suchaktion plötzlich, dass jede Menge Dateien noch nicht umbenannt wurden.

Grund:
Der Explorer war wohl sehr gründlich und zeigte mir zu den normalen Verzeichnis-Inhalten auch noch die Inhalte von ZIP-Dateien an. Und in den vielen ZIP-dateien liegen noch ein paar tausend von diesen umzubenennenden Dateien.

Ich möchte ja nicht allzu sehr meinen Newbie-Bonus ausspielen, aber gibt es dafür auch noch eine Lösung ?

...ausser löschen

Grüße ... Frank
Bitte warten ..
Mitglied: bastla
23.10.2008 um 19:11 Uhr
Hallo truecolor!

Ein realistischer Ablauf könnte sein: Entpacken, Umbenennen und (bei Bedarf) neuerliches Zippen der Dateien - eine Möglichkeit einer Bearbeitung innerhalb des Archivs kenne ich leider nicht.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Server
Dateien in einem Ordner nach XY Tagen löschen (3)

Frage von Adnan88 zum Thema Windows Server ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...