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

Directory und Dateinamen aus Datei auslesen, in Directory wechseln und Dateiennamen umbenennen

Frage Entwicklung Batch & Shell

Mitglied: readonly

readonly (Level 1) - Jetzt verbinden

13.12.2007, aktualisiert 14.12.2007, 4195 Aufrufe, 5 Kommentare

So, jetzt wird es kompliziert

Ich habe ein Datei, die ausgelesen werden soll. Im gleichen Verzeichnis gibt es n Ordner mit n Dateien.

Die Datei, die ausgelesen werden soll, hat folgendes Format:

SF001
01 aaaaaaaaa
02 bbbbbbbbbbb
03 ccccccccc
.
.

SF002
01 ddddddddddd
02 eeeeeeeeee
03 fffffffffffffff
04 ggggggggggg
.
.
.
.

SF003
01 hhhhhhhhhh
02 iiiiiiiiiiiiiiiiii
.
.
.

Es soll jetzt im Verzeichnis SF001 die Datei, die mit 01 anfängt, also z.B. 01.txt in 01_aaaaaaaaa.txt umbenannt werden.
Dann die Datei 02.txt in 02_bbbbbbbbb.txt. usw. usw

Wenn Verzeichnis SF001 agearbeitet ist, dann ins Verzeichnis SF002 wechseln und die ganze Prozedur mit 01.txt nach 01_ddddddddddd.txt umbenennen.....

Vielleicht kann man die Verzeichnisse daran erkennen, dass sie alphanumerisch sind und daher Verzeichnisse sein müssen? Oder mit SF beginnen, denn das werden immer Verzeichnisse sein.

Vielen Dank im voraus!
Mitglied: bastla
13.12.2007 um 22:37 Uhr
Hallo readonly und willkommen im Forum!

Das könnte so gehen:
01.
@echo off & setlocal 
02.
set "Basis=D:\Temp" 
03.
set "Liste=DateiListe.txt" 
04.
 
05.
for /f "usebackq tokens=1*" %%i in ("%Basis%\%Liste%") do call :ProcessLine "%%i" "%%j" 
06.
goto :eof 
07.
 
08.
:ProcessLine 
09.
set "P=%~1" 
10.
if /i "%P:~0,2%"=="SF" set "Verz=%Basis%\%P%" & goto :eof 
11.
if exist "%Verz%\%P%.txt" ren "%Verz%\%P%.txt" %2.txt 2>nul
Bitte bei der Angabe des Basisordners keinen abschließenden "\" (daher zB auch für "D:\" nur "D:" schreiben) und für die Dateiliste nur den Namen (ohne Pfadangabe) verwenden.

Bei Umbenennungsaktionen immer zu berücksichtigen: Falls im Zielordner bereits eine Datei mit dem neuen Namen existiert, wird (in der aktuellen Fassung) die zu bearbeitende Datei (0x.txt) nicht umbenannt.

Grüße
bastla
Bitte warten ..
Mitglied: readonly
14.12.2007 um 10:07 Uhr
Klasse, vielen Dank. Nach ein paar Modifikationen für mein Umfeld hat es einwandfrei geklappt.
Nur beim renamen macht er aus ’ (Hochkomma) ein Æ. Aber das krieg ich noch hin Zur Not mit einem rename programm, denn es werden schon so um die 7000 Dateien......

Nochmals vielen Dank!
Bitte warten ..
Mitglied: bastla
14.12.2007 um 10:30 Uhr
Hallo readonly!

Du kannst es mit dem Umschalten der verwendeten Codepage versuchen - dazu vor der "for"-Schleife ein "chcp 1252" einfügen.

Grüße
bastla
Bitte warten ..
Mitglied: readonly
14.12.2007 um 11:38 Uhr
hat auch geklappt!

Nochmals vielen Dank!
Bitte warten ..
Mitglied: Biber
14.12.2007 um 12:50 Uhr
Moin readonly,

Willkommen auch von mir.
Nachdem ich in den letzten Tagen so oft genervt auf Beiträge im Frittenbudendeutsch reagiert habe, möchte ich auch positives Feedback nicht zurückhalten.

Du hast eine klare und vollständige Aufgabenstellung formuliert, immer prompt rückgemeldet und einen absolut sauberen Erst-Beitrag hinterlassen.

Wenn Du dieses lobenswerte Verhalten weiter beibehältst, dann kannst Du auch diese nicht-so-gern-gelesene Phrase "Vielen Dank im voraus" beim nächsten Mal einsparen, und selbst ich habe nichts mehr zu meckern.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...