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

Frage Entwicklung Batch & Shell

Mitglied: sweiss3

sweiss3 (Level 1) - Jetzt verbinden

31.01.2007, aktualisiert 05.02.2007, 5377 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
Batch & Shell
Leerzeichen aus Dateinamen entfernen
gelöst Frage von noob-xBatch & Shell3 Kommentare

Hallo Profis, ich möchte bei vielen Dateien in einem Ordner die Leerzeichen aus den Dateinamen entfernen Dateien sehen so ...

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
CMD - Stern und Sonderzeichen in Dateinamen entfernen
Frage von batch2goBatch & Shell14 Kommentare

Gueten Tag zusammen Mit grossem Interesse lese ich euer Beiträge (und würde mich an dieser Stelle als Azubi bezeichnen). ...

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

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 4 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 4 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 7 StundenAdministrator.de Feedback6 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 11 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...