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
GELÖST

Teile des Dateinamens entfernen per Batch

Frage Entwicklung Batch & Shell

Mitglied: SarekHL

SarekHL (Level 3) - Jetzt verbinden

09.01.2010 um 21:27 Uhr, 9746 Aufrufe, 6 Kommentare

Hallo zusammen,

ich habe in einem Ordner diverse Dateien nach dem Schema ePaper2010-01-09-210049.pdf. Das "ePaper" steht immer am Anfang, dann kommt das Datum in der Form Jahr-Monat-Tag und dann ein weiterer Bindestrich und die Uhrzeit des Downloads als sechsstellige Zahl. Ich möchte davon eigentlich nur das "2010-01-09.pdf" behalten.

Geht das mit einer Batch-Datei? Diese darf dann aber nur die Dateien bearbeiten, die mit "ePaper" beginnen, also die Dateien, deren Name bereits gekürzt ist, soll die Batch in Ruhe lassen ...


Hat jemand eine Idee? Bastla vielleicht?


Danke,
André
Mitglied: bastla
09.01.2010 um 21:57 Uhr
Hallo SarekHL!

Irgendwie fühle ich mich mit dieser Frage angesprochen ...

Grundsätzlich sollte das etwa so gehen (das "echo" vor dem "ren" sorgt dafür, dass zunächst der Befehl für das Umbenennen nur angezeigt, aber noch nicht ausgeführt wird):
01.
@echo off & setlocal 
02.
set "Ordner=D:\Testordner" 
03.
 
04.
for %%i in ("%Ordner%\ePaper20*.pdf") do call :ProcessFile "%%i" 
05.
pause 
06.
goto :eof 
07.
 
08.
:ProcessFile 
09.
for /f "tokens=1-3 delims=-" %%a in ("%~n1") do set "Neu=%%a-%%b-%%c" 
10.
set "Neu=%Neu:ePaper=%" 
11.
echo ren %1 "%Neu%%~x1" 
12.
goto :eof
Voaussetzung, damit das so funktionieren kann, ist zum einen die konsequente Verwendung des Benennungsschemas und, wichtiger, dass es für jeden Tag nur eine Datei gibt, da es ansonsten zur Namenskollision kommt ("ePaper2010-01-09-203212.pdf" und "ePaper2010-01-09-210049.pdf" müssten ja beide auf "2010-01-09.pdf" umbenannt werden).

Sollte die zweite Voraussetzung nicht zutreffen, müsstest Du einen Algorithmus für die Ermittlung einer alternativen Bezeichnung festlegen (oder einfach doch auch die Uhrzeit verwenden) ...

Grüße
bastla
Bitte warten ..
Mitglied: StefanKittel
09.01.2010 um 23:35 Uhr
Hallo,
da, dass hier ja statisch ist, würde ich einfach http://www.1-4a.com/rename verwenden.
Einfach die ersten 6 Zeichen entfernen und gut. Oder einfach "epaper" durch nichts ersetzen.
Stefan
Bitte warten ..
Mitglied: bastla
10.01.2010 um 00:29 Uhr
@StefanKittel
einfach "epaper" durch nichts ersetzen.
Was meinst Du macht wohl die folgende Zeile
set "Neu=%Neu:ePaper=%"
Grüße
bastla
Bitte warten ..
Mitglied: StefanKittel
10.01.2010 um 00:49 Uhr
Hallo,
ich hab ja nun nicht gesagt, dass Deine Lösung nicht funktionieren würde.
Aber für was einmaliges würde ich das fertige Tool verwenden.
Stefan
Bitte warten ..
Mitglied: bastla
10.01.2010 um 09:16 Uhr
@StefanKittel
Abgesehen davon, dass wir ja noch gar nicht wissen, ob es nur eine einmalige Aktion sein soll, habe ich auch überhaupt nix gegen die Verwendung "fertiger" Tools; so weit "fertig" ist der Batch aber eigentlich auch schon ...

Grüße
bastla
Bitte warten ..
Mitglied: SarekHL
10.01.2010 um 09:26 Uhr
Richtig, Bastla ....

Es geht darum, daß ich in ein Verzeichnis täglich die aktuelle Ausgabe unserer Tageszeitung downloaden will. Leider haben die keinen FTP-Server, so daß ich nur per Browser herunterladen kann. Ich habe mir das schon mit dem "iMacro"-Plugin für Firefox weitgehend automatisiert, aber der Dateiname der vom Verlag generierten Files ist eben so blöd wie vorhin beschrieben.

Und nun will ich dann ab und zu (also nicht einmalig) die Batch über das Verzeichnis laufen lassen, um die noch nicht korrigierten Dateinamen anzupassen. Die bereits korrigierten Dateinamen sollen dabei unverändert bleiben, darum kann ich eben nicht einfach die ersten sechs und die letzten sieben Zeichen entfernen.

Ich probiere Dein Script nachher mal aus, auf jeden Fall sage ich schon mal Danke!
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...