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

Dateinamen per Batch umbenennen 15 Zeichen vom Anfang behalten

Frage Entwicklung Batch & Shell

Mitglied: Spidi-25

Spidi-25 (Level 1) - Jetzt verbinden

03.04.2010, aktualisiert 04.04.2010, 11543 Aufrufe, 9 Kommentare

Hallo allerseits,

ich habe ein Problem und das geht so:

Ein Programm erzeugt mir Dateien, die z. B. folgendermaßen aussehen:

1000_100_100_00 Muster.pdf
oder
1000_100_100_00 test.pdf

Dabei sind die ersten 15 Zeichen wichtig die ich behalten möchte, die Dateien befinden sich immer in Variablen Ordnern.

Ich suche also nach einer Möglichkeit, die Datei mittels Batchdatei so umbenennen damit nur noch 1000_100_100_00.pdf stehen bleibt

Viele Grüße,
Mitglied: regedit19
03.04.2010 um 13:48 Uhr
rename "C:\.........\.........\........\1000_100_100_00 Muster.pdf" "C:\.........\.........\........\1000_100_100_00.pdf"
Bitte warten ..
Mitglied: Spidi-25
03.04.2010 um 14:29 Uhr
die Dateien befinden sich immer in Variablen Ordnern.
Bitte warten ..
Mitglied: Biber
03.04.2010 um 14:39 Uhr
Moin Spidi-25,

willkommen im Forum.
Zitat von Spidi-25:
die Dateien befinden sich immer in Variablen Ordnern.
Ist doch berücksichtigt worden in regedits Antwort
rename "C:\.........\.........\........\1000_100_100_00 Muster.pdf" "C:\.........\.........\........\1000_100_100_00.pdf"
Die variablen Pfade sind angedeutet durch die "........\"s.

Nein, im Ernst - was gilt denn nun: die ersten 10 Zeichen behalten wie im Titel oder die ersten 15 laut Beitrag?
Und was bedeutet "variable Pfade"? Gibt es denn ein "oberstes Verzeichnis", unterhalb dessen alles spielt?
Oder wechselt es täglich von Laufwerk c:\irgendwo nach F:\Neverland und dann nach \\127.0.0.1\Cher?

Grüße
Biber

[Edit @bastla] Und wie soll ich ihn/sie/es jetzt dazu bringen, den Titel zu editieren?
Und was bedeutet "habe es nicht eilig?" Noch zu schlapp vom Fasten? *g EIN Rest-Tag nur noch... [/Edit]
Bitte warten ..
Mitglied: bastla
03.04.2010 um 14:43 Uhr
Hallo Spidi-25 und willkommen im Forum!

Wenn Du ausgehend von einem Basisordner in diesem und allen Unterordnern Dateien nach dem angegebenen Muster umbenennen willst, dann etwa so:
01.
for /r "D:\Dein Basisordner" %i in (????_???_???_??*.pdf) do @for /f "tokens=1*" %a in ("%~ni") do @if "%b" neq "" echo ren "%i" "%a%~xi"
Mit dieser Zeile (direkt in der CMD-Shell eingegeben) erhältst Du eine Anzeige aller Umbenenn-Befehle - wenn das Ergebnis vernünftig aussieht, kannst Du das "echo" entfernen und damit die Befehle auch ausführen lassen.

Falls Du einen Batch daraus machen wolltest, einfach jedes vorkommende Prozentzeichen verdoppeln.

Grüße
bastla

[Edit] @Biber: Ich hab's heute nicht eilig ... [/Edit]

[Edit2]@Biber: "Noch zu schlapp vom Fasten?" Du wirst es nicht glauben, heuer hätte ich tatsächlich fast gefastet (zumindest stundenweise ) [/Edit2]
Bitte warten ..
Mitglied: Spidi-25
03.04.2010 um 15:59 Uhr
danke für die schnelle Antwort

die Dateien befinden sich manchmal auf c:\ mal auf k:\ mal auf V:\

mit dem Befehl den ich als umb.cmd in c:\windows gespeichert habe kann ich mit einem commander in einem beliebigem Laufwerk ausführen

for %%f in (*_*.pdf) do @for /f "delims=test.pdf" %%n in ('echo %%~f') do move /y "%%~f" "%%n%%~xf"

geht es fast richtig, nur es geht nicht von den 15 Zeichen aus es entfernt mir nur den test aber das Leerzeichen bleibt.

das hat auch mal bastla in einem anderen beitrag geschrieben.
Bitte warten ..
Mitglied: bastla
03.04.2010 um 16:23 Uhr
Hallo Spidi-25!

Wenn Dein Ansatz bis auf das "Leerzeichen"-Problem funktioniert, dann einfach
for %%f in (*_*.pdf) do @for /f %%n in ("%%~nf") do move "%%~f" "%%n%%~xf"
Und vielleicht kannst Du uns allen den Gefallen tun, den Titel auf in etwa "Dateien per Batch umbenennen - Teil des Namens bis zum ersten Leerzeichen behalten" ändern (es sei denn, Du wolltest Dich doch noch auf eine bestimmte Stellenanzahl festlegen ) ...

Grüße
bastla

P.S.: Falls Du eine der beiden von mir verwendeten Formatierungsvarianten für die Batchzeilen nachahmenswert findest: "Code"-Formatierung ...
Bitte warten ..
Mitglied: Spidi-25
03.04.2010 um 23:17 Uhr
Vielen dank es funktioniert ob wohl ich den code nicht verstehe

und ich hätte eine frage zur meinem code? Wäre es nicht möglich, außer dem test auch noch das Lehrzeichen zu entfernen? Würde es für die Zukunft gerne wissen wollen, genau so wie bestimmte Zeichen vom Anfang behalten Rest löschen.

danke noch mal an bastla!!!!!!!!!!!!!!
Bitte warten ..
Mitglied: bastla
03.04.2010 um 23:33 Uhr
Hallo Spidi-25!

Dein Code ist in der Form nicht verwendbar, da nicht wirklich "test.pdf", sondern jedes darin enthaltene Zeichen ("t", "e", ...) als Trennzeichen betrachtet wird - es war also nur Zufall, dass damit (fast) an der richtigen Stelle getrennt wurde (davor gibt es im Dateinamen ja nur Ziffern, "_" und eben ein Leerzeichen). Da das Leerzeichen und TAB defaultmäßig als Delimiter verwendet werden, habe ich in meinem Ansatz kein "delims= " benötigt - es könnte aber hinzugefügt werden und würde zum selben Ergebnis führen ...
Um tatsächlich zB die ersten 15 Zeichen zu behalten, müsste der Batch allerdings anders aussehen:
01.
@echo off & setlocal 
02.
for %%f in (*_*.pdf) do set "Name=%%~nf" & call :ProcessFile "%%f" 
03.
goto :eof 
04.
 
05.
:ProcessFile 
06.
move %1 "%Name:~,15%%~x1" 
07.
goto :eof
Mehr zum Thema "Teilstrings" findest Du mit "set /?" ...

Noch eine Anmerkung: Mit "move" wird im Fall des Falles eine bereits vorhandene gleichnamige Datei überschrieben - daher wäre im Zweifelsfall "ren" die sicherere Variante.

Grüße
bastla

P.S.: Denkst Du noch an den Threadtitel?
Bitte warten ..
Mitglied: Spidi-25
04.04.2010 um 00:06 Uhr
Genau das habe ich gesucht Danke

es ist so das Programm spukt mir nach dem Dateinamen ein Lehrzeichen aus, aber wen mal der PDF Mailer gewechselt wird und er es nicht mehr macht dann habe ich das Problem das ich die 15 Zeichen vom Anfang immer noch benötige. Aber die Antwort ist da der Code ist super und mit "ren" absolut hands up!!!!!!!!!!!!!
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...