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

Im Dateinamen den ERSTEN Unterstrich durch Punkt ersetzen (immer drittes Zeichen)

Frage Entwicklung Batch & Shell

Mitglied: bugmenot2

bugmenot2 (Level 1) - Jetzt verbinden

30.09.2014, aktualisiert 22:03 Uhr, 1378 Aufrufe, 9 Kommentare, 4 Danke

Ich habe die Frage hier schon gestellt:

http://www.administrator.de/contentid/204849#comment-955153


jedoch bin ich mir nicht sicher ob das da noch jemand ließt !?


habe den Code übernommen und es funktioniert wunderbar

@echo off&setlocal
for %%i in ("C:\...\*_*") do (
set "neu=%%~ni"
for /f "delims=" %%j in ('call echo "%%neu:_=.%%"') do ren "%%~i" "%%~j%%~xi"
)


nur damit werden ALLE Unterstriche im Dateinamen durch Punkte ersetzt.

Ich würde dies aber nur für das dritte Zeichen benötigen. Also AB_CD_E.pdf wird AB.CD_E.pdf bzw. aus AB_CD_E.pdf wird AB.CD_E.pdf

Habe leider nur sehr begrenzte Kenntnisse und würde gerne wissen ob das geht? Es vereinfacht ja wahrscheinlich die Sache, dass es sich immer um das dritte Zeichen von links dreht!?



Bin für jede Hilfe dankbar!

Gruß
Mitglied: rubberman
LÖSUNG 30.09.2014, aktualisiert um 22:03 Uhr
Hallo bugmenot2,

ungetestet etwa so:
01.
echo off &setlocal 
02.
for %%i in ("C:\...\*_*") do ( 
03.
  for /f "tokens=1* delims=_" %%j in ("%%~nxi") do ren "%%~i" "%%j.%%k" 
04.
)
Grüße
rubberman
Bitte warten ..
Mitglied: bugmenot2
30.09.2014, aktualisiert um 20:58 Uhr
sehr geil, danke !!!!


edit:

zu früh gefreut.

er benennt sie korrekt um und lässt den zweiten unterstrich stehen. wenn ich jetzt aber nochmal drauf klicke, ändert er auch den zweiten unterstrich in einen punkt.

vllt. muss man irgendwie gezielt das dritte Zeichen bearbeiten?

edit 2:

habe was gefunden aber weiß nicht so recht wo ich es einbauen soll

IF [%var:~,3%] == [_] (SET var=.%var:~3%)

quelle: http://www.winfuture-forum.de/index.php?showtopic=134338
Bitte warten ..
Mitglied: rubberman
LÖSUNG 30.09.2014, aktualisiert um 22:03 Uhr
wenn ich jetzt aber nochmal drauf klicke, ändert er auch den zweiten unterstrich in einen punkt.
Natürlich. Dein Pattern ist "*_*", und solange das zutrifft, wird weiter geändert. Du musst also die Dateien ausschließen, bei denen irgendwo ein Punkt vor einem Unterstrich steht.
01.
@echo off &setlocal 
02.
pushd "C:\..." 
03.
for /f "delims=" %%i in ('dir /a-d /b "*_*" ^| findstr /rvc:"\..*_"') do ( 
04.
  for /f "tokens=1* delims=_" %%j in ("%%~nxi") do ren "%%~i" "%%j.%%k" 
05.
06.
popd
Grüße
rubberman
Bitte warten ..
Mitglied: bugmenot2
30.09.2014 um 21:36 Uhr
ok, danke. nur kurz zur erläuterung

pushd "C:\..." [was kommt hier für "..." hin? nur der ordnerpfad?]
for /f "delims=" %%i in ('dir /a-d /b "*_*" ^| findstr /rvc:"\..*_"') do ( [was würde dann hier bei ".." hinkommen?]


sorr, ich kenn mich mit dieser ganzen syntax null aus
Bitte warten ..
Mitglied: rubberman
LÖSUNG 30.09.2014, aktualisiert um 22:03 Uhr
pushd "C:\..." [was kommt hier für "..." hin? nur der ordnerpfad?]
Richtig.

for /f "delims=" %%i in ('dir /a-d /b "*_*" ^| findstr /rvc:"\..*_"') do ( [was würde dann hier bei ".." hinkommen?]
Das lässt du wie es ist. Die Hilfe zu FINDSTR verrät dir was das zu bedeuten hat, bzw. ich kann das Pattern auch kurz erklären:
\. Steht für einen Punkt
.* Steht für ein beliebiges Zeichen, das nicht, einmal oder mehrfach auftreten kann
_ Ist der Unterstrich
Normalerweise würde FINDSTR also genau solche Dateinamen finden, bei denen ein Punkt irgendwo vor einem Unterstrich kommt. Durch die Option /v wird die Logik aber umgekehrt und diese Dateien werden ausgefiltert.

Grüße
rubberman
Bitte warten ..
Mitglied: bugmenot2
30.09.2014 um 21:55 Uhr
ok. weil irgendwie will es nicht funktionieren.

es könnte natürlich sein dass jetzt irgendwo ein Tippfehler ist, aber mit meinen bescheidenen Kenntnissen wäre das die Nadel im Heuhaufen

geht es denn bei dir?
Bitte warten ..
Mitglied: rubberman
LÖSUNG 30.09.2014, aktualisiert um 22:03 Uhr
Ja, funktioniert bei mir. Der Grund warum es bei dir nicht funktioniert ist, dass ich bei meinem Test nicht tatsächlich umbenannt habe, sondern nur per echo ausgegeben habe, was passieren würde (... do echo ren ...). Ich schmeiß das echo oben mal aus dem Code ...

Grüße
rubberman
Bitte warten ..
Mitglied: bugmenot2
30.09.2014 um 22:03 Uhr
jetzt gehts. tausend dank!!
Bitte warten ..
Mitglied: rubberman
30.09.2014 um 22:15 Uhr
Gerne
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Outlook 2013 Kontaktname enthält japanische Zeichen

Frage von xbast1x zum Thema Microsoft Office ...

Windows Server
Windows 2003 Domäne durch 2016er ersetzen (3)

Frage von Cenion zum Thema Windows Server ...

Exchange Server
Ersten Buchstaben einer Mail werden abgeschnitten (2)

Frage von Philipp.S zum Thema Exchange Server ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...