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 Dateinamen Umbenennen nach Ersetzten

Mitglied: batchnewbie

batchnewbie (Level 1) - Jetzt verbinden

16.07.2014, aktualisiert 20:50 Uhr, 1095 Aufrufe, 9 Kommentare, 2 Danke

Hallo,
ich experimentiere ein wenig und bin ein einem Punkt, wo ich nicht weiter weiß.

Ich lese ein Dateinamen (DateiName) ein, aus der Mitte der Dateinamen entnehme ich nur die Buchstaben (AZ) , diese forme ich um (AZ5) und möchte die Ausgang Buchstaben (AZ) mit den modifizierten Buchstaben (AZ5) ersetzten. Danach möchte ich Org. Dateinamen mit den Neudateinamen umbenennen.

Zeile 37 macht mir Probleme, bekomme es einfach nicht gebacken wie AZ mit AZ5 ersetzt werden kann.
Egal wie ich es anstelle ob mit %AZ%=%AZ5% oder irgendwie anders, es funktioniert nicht.
Nehme ich die "Nacken" Buchstaben funktioniert es nicht.

Hoffe man kann mir bei dem "kleinen" Problem weiter Helfen.

Mein Code
01.
@echo off & setlocal enabledelayedexpansion & title %~n0 
02.
cls 
03.
 
04.
echo.>1234ABCD5678.log 
05.
echo.>00Blub00.log 
06.
 
07.
for /f "delims=" %%a in ('dir /b /a-d "*.log"') do ( 
08.
   set DateiName=%%a 
09.
   echo DateiName: !DateiName! 
10.
    
11.
     :: Zahlen filtern 
12.
     for /f "delims=1234567890 tokens=1,2" %%i in ("%%a") do ( 
13.
     :: Nur Buchstaben 
14.
     set AZ=%%i 
15.
     echo Buchstaben: !AZ! 
16.
     echo. 
17.
18.
 
19.
   :: Extrahieren    
20.
   set AZ1=!AZ:~0,1! 
21.
   set AZ2=!AZ:~1,1! 
22.
   set AZ3=!AZ:~2,1! 
23.
   set AZ4=!AZ:~3,1! 
24.
   echo AZ1: !AZ1! 
25.
   echo AZ2: !AZ2! 
26.
   echo AZ3: !AZ3! 
27.
   echo AZ4: !AZ4! 
28.
   echo. 
29.
    
30.
   :: Zusammensetzen 
31.
   set AZ5=!AZ1!-!AZ2!-!AZ3!-!AZ4! 
32.
   echo AZ5: !AZ5! 
33.
   echo. 
34.
    
35.
   :: Ersetzten  
36.
   REM set NeueDateiname:!DateiName:ABCD=-A-B-C-D-! 
37.
   set NeueDateiName:!DateiName:!AZ!=!AZ5!! 
38.
   echo NeueDateiname: !NeueDateiname! 
39.
    
40.
   :: Umbenennen 
41.
   echo ren %DateiName% %NeueDateiName% 
42.
43.
pause
Mitglied: Gersen
16.07.2014 um 13:51 Uhr
Hallo,

01.
SET NeueDateiName=!DateiName:%AZ%=%AZ5%!
vielleicht?

Gruß,
Gersen
Bitte warten ..
Mitglied: batchnewbie
16.07.2014 um 14:04 Uhr
leider nicht, als Ausgabe kommt:

NeueDateiName: DateiName:=
Bitte warten ..
Mitglied: Gersen
16.07.2014 um 14:22 Uhr
Neues Spiel, neues Glück...

Folgendes hat eben geklappt:

01.
call set NeueDateiName=%%DateiName:%AZ%=%AZ5%%%
Bitte warten ..
Mitglied: batchnewbie
16.07.2014 um 14:39 Uhr
Bei mir funktioniert das nicht
Bitte warten ..
Mitglied: Gersen
16.07.2014, aktualisiert um 15:22 Uhr
Falscher Post, sorry!
Bitte warten ..
Mitglied: rubberman
LÖSUNG 16.07.2014, aktualisiert um 20:50 Uhr
Hallo batchnewbie,
Was glaubst du wie die cmd mit den ganzen Ausrufezeichen umgeht?
set NeueDateiName:!DateiName:!AZ!=!AZ5!!
Bedenke dass Ausrufezeichen paarweise behandelt werden. Also !DateiName:! als Variable, !=! als Variable und !! als ... ähm ... nix. Und was soll der Doppelpunkt hinter NeueDateiName? (=?)
ungetestet:
for /f "delims=" %%i in ("!AZ!") do for /f "delims=" %%j in ("!AZ5!") do set "NeueDateiName=!DateiName:%%i=%%j!"
Dass Prozentzeichenexpansion in Zeile 41 auch nicht funktionieren kann, sollte einleuchten.

Grüße
rubberman
Bitte warten ..
Mitglied: batchnewbie
16.07.2014 um 20:49 Uhr
Danke ja das rennt so, aber wieso muss das per doppelte Schleife durchlaufen?
Wieso kann man das nicht so wie hier: Replace - Replace a substring using string substitution machen?
Mit einfachen set NeueDateiname=!DateiName:ABCD=A-B-C-D! funktioniert es ja, werden die beiden Variablen (AZ & AZ5) nicht gelesen?

Übrigens kA wie der Doppelpunkt da hingekommen ist (wohl bei editieren passiert ), es muss selbstverständlich Gleichzeichen rein (Zeile 36 & 37 hinter NeueDateiname). So habe ich es auch hier getestet...


Em ja, die Zeile 41 muss natürlich mit Anführungszeichen laufen...und nicht per Prozentzeichen 0
Bitte warten ..
Mitglied: rubberman
16.07.2014 um 21:13 Uhr
Mit einfachen set NeueDateiname=!DateiName:ABCD=A-B-C-D! funktioniert es ja, werden die beiden Variablen (AZ & AZ5) nicht gelesen?
Nein, sie werden nicht gelesen. Wie die Zeile interpretiert wird, habe ich dir oben gezeigt. Jeweils der Ausdruck zwischen zwei aufeinanderfolgenden Ausrufezeichen wird versucht als Variable zu expandieren. Nochmal in Farbe zum besseren Verständnis:
!DateiName:!AZ!=!AZ5!!
Jetzt klar geworden?

Grüße
rubberman
Bitte warten ..
Mitglied: batchnewbie
16.07.2014 um 21:49 Uhr
Jop, jetzt habe ich es verstanden was so paar Farben bewirken können
Jetzt verstehe ich auch die zwei Schleifen..., anders bekommen man die Variablen ja nicht gelesen!!

Danke
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Dateinamen automatisch umbenennen
Frage von chrisschmitt93Windows Tools2 Kommentare

Hallo zusammen, könnte mir freundlicherweise einer ein Skript zukommen lassen , das automatisch alle Ä in AE ,Ö ind ...

Batch & Shell
Dateinamen mit Powershell umbenennen ???
gelöst Frage von lexuraBatch & Shell2 Kommentare

Hallo, Ich benötige ein Script mit dem ich eine MP3 Sammlung umbenennen kann. Die Dateien lauten im Ursprung alle ...

Batch & Shell

Batch - Dateinamen auslesen, umbenennen + dreistellige Zahl vor bisherigen Dateinamen setzen.

Frage von citroendsvierBatch & Shell4 Kommentare

Hallo und guten Morgen, ich möchte für drei Ordner (2011, 2013, 2014) eine Batch schreiben, die die darin enthaltenen ...

Batch & Shell

Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen

gelöst Frage von Booster07Batch & Shell3 Kommentare

Hallo Zusammen, ich bin Batch-Amateur und komme bei folgendem Problem nicht weiter. Ich will sehr viele Dateien, die in ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 4 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 10 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server23 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...