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 Vorgegebene Zeichenkette aus Dateinamen entfernen

Mitglied: sweiss3

sweiss3 (Level 1) - Jetzt verbinden

31.01.2007, aktualisiert 05.02.2007, 5400 Aufrufe, 5 Kommentare

BS: Windows XP

Ich habe eine Menge an Dateien/Ordnern, die eine bestimmte Zeichenkette enthalten. Die Zeichenkette ist bei allen gleich. Wie muss mein Script aussehen, damit am Ende aus allen Dateien diese Zeichenkette entfernt ist.

Beispiel:

Ausgangspunkt:
Datei234_test.txt
Datei455_U3.txt
Datei56_help.txt

zu entfernende Zeichenkette:
z.B. "atei"

Ergebnis:
D234_test.txt
D455_U3.txt
D56_help.txt

Vielen Dank für eure Mühe

[Edit Biber] Nach Rückfrage bei sWeiss3 auf "Gelöst" und "Geschlossen" gesetzt. [/Edit]
Mitglied: bastla
31.01.2007 um 21:29 Uhr
Hallo sweiss3 und willkommen im Forum!

Die folgende Batchdatei soll von einem beim Aufruf anzugebenden Ordner beginnend alle darin und in den Unterordnern enthaltenen Dateinamen (nicht auch Ordnernamen) entsprechend Deiner Vorgabe kürzen:
01.
for /f "delims=" %%i in ('dir "%1\*atei*" /s /b /a-d') do call :ProcessFile "%%i" 
02.
goto :eof 
03.
:ProcessFile 
04.
set "DName=%~nx1" 
05.
ren %1 "%DName:atei=%"
Wenn Du die Datei zB als "Kuerzen.bat" gespeichert hast, würde der Aufruf so aussehen:
01.
Kuerzen D:\Adm
Bitte darauf achten, dass die Batchdatei selbst nicht den Namensbestandteil "atei" aufweist und im zu bearbeitenden Pfad liegt, da sie sich sonst selbst umbenennen und sich damit "den Boden unter den Füßen wegziehen" würde.

Grüße
bastla
Bitte warten ..
Mitglied: sweiss3
05.02.2007 um 08:27 Uhr
Funktioniert schon einmal gut, bis auf den Fall, wo im Pfadname ein Leerzeichen auftauchte:
Ausschrift:
for /f "delims=" %i in ('dir ""C:\Documents and Settings\user\My Documents\Test_Folder"\*test*" /s /b /a-d') do ....
Fehlerausschrift: The system cannot find the path specified.


Bitte hierfür um Hilfe.

Danke,

Samuel
Bitte warten ..
Mitglied: bastla
05.02.2007 um 08:35 Uhr
Hallo sweiss3!

Versuch mal diese erste Zeile:
01.
for /f "delims=" %%i in ('dir "%~1\*atei*" /s /b /a-d') do call :ProcessFile "%%i"
Grüße
bastla
Bitte warten ..
Mitglied: sweiss3
05.02.2007 um 11:19 Uhr
Vielen Dank. Funktioniert.

Angrenzende Frage:
Ist es nun noch moeglich, die zu entfernende Zeichenkette als zweiten Parameter zu uebergeben?
ren %1 "%DName:%2=%"
funktioniert ja logischerweise nicht


Viele Gruesse

Samuel
Bitte warten ..
Mitglied: bastla
05.02.2007 um 12:21 Uhr
Hallo sweiss3!

Wenn Du beim Aufruf sowohl Pfad (%1) als auch Namensbestandteil (%2) übergibst, musst Du zunächst %2 weiterreichen (immer mit Berücksichtigung ev Leerstellen unter " gesetzt). Danach müsste die "DelayedExpansion" der Variablen "DName" dafür sorgen, dass die Begrenzungszeichen (% vs !) nicht kollidieren, daher also etwa:
01.
@echo off & setlocal enabledelayedexpansion 
02.
for /f "delims=" %%i in ('dir "%~1\*%~2*" /s /b /a-d') do call :ProcessFile "%%i" "%~2" 
03.
goto :eof 
04.
:ProcessFile 
05.
set "DName=%~nx1%" 
06.
echo ren %1 "!DName:%~2=!"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Ubuntu - Sonderzeichen aus Dateinamen entfernen

gelöst Frage von HenereUbuntu3 Kommentare

Servus zusammen, ich habe hier eine Fotosammlung auf nem Webserver mit root-Zugriff liegen. Ich würde gerne rekursiv die Dateien ...

Windows 10

Vbs oder batch zum Ändern von Dateinamen ab Zeichenkette

gelöst Frage von vbaGastWindows 1013 Kommentare

Guten Tag, nach meinen bisherigen Recherchen wird das Problem mit Batch eher schwierig zu lösen sein. Daher würde auch ...

Batch & Shell

Punkte aus Dateinamen per Batch entfernen

gelöst Frage von Sommerpalme73Batch & Shell12 Kommentare

Hallo ihr Lieben, ich bin ziemlicher Anfänger und habe leider keine Ahnung von Skript-Sprache. Nun soll ich aber bei ...

Batch & Shell

Version in Dateinamen entfernen per BAT Datei

Frage von snoopy-doBatch & Shell6 Kommentare

Hallo zusammen, ich habe eine BAT Datei, die an alle DOCX-Dokumente in dem Verzeichnis C:\Test einen Zusatz (Versionsname) anhängt. ...

Neue Wissensbeiträge
Windows 10

Blackscreen nach dem Update von 1908 auf 1809 wenn der Rechner aus dem Standby gestartet wird

Tipp von FSX2010 vor 8 StundenWindows 103 Kommentare

Habt ihr den Samsung Treiber "Samsung_NVM_Express_Driver_3.0" installiert sollte dieser für 1809 deinstalliert werden da dieser nicht kompatibel ist. Der ...

Utilities
Teamviewer 14 Verbindungsprobleme mit Proxy
Tipp von PeterleB vor 1 TagUtilities

Nach dem Umstieg von Version 13 auf 14 wollte sich TV nicht mehr mit dem Netz verbinden, ignorierte offenbar ...

Administrator.de Feedback
Unsere Datenbank wurde umgestellt
Information von Frank vor 1 TagAdministrator.de Feedback5 Kommentare

Hallo User, ich habe in der Nacht unsere Datenbank umgestellt. D.h. neue Version (MySQL 8) und andere Örtlichkeit. Sollte ...

Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 4 TagenSonstige Systeme8 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Heiß diskutierte Inhalte
Vmware
Gebrauchten ESXi- Server verkaufen: Festplatten DSGVO-konform löschen?
Frage von l.scheperVmware20 Kommentare

Hallo, wir möchten einen gebrauchten FUJITSU Server verkaufen. Auf dieser Maschine ist noch ein installiertes ESXi 5.1 und ne ...

Router & Routing
Dediziertes ISP -Routing
gelöst Frage von niLuxxRouter & Routing13 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Durch verschiedene Umstände kann es nun sein, dass sich zwei ...

Samba
Linux Server und Windows Linux Client
gelöst Frage von 137898Samba12 Kommentare

Hallo, ich bräuchte dringend bei der Aufgabe etwas Hilfe. Die Firma XYZ besteht auf zwei Abteilungen Logistik und Technik ...

Windows Server
Windows Server 2012 R2 Komponentenspeicher wurde beschädigt. Inplace Upgrade?
Frage von DeRo93Windows Server11 Kommentare

Hallo liebes Forum, Wir besitzen einen Domänencontroller der auf einem Windows Server 2012 R2 läuft. Dadurch, dass alle Windows ...