Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Dateinamen nach Kriterium umbenennen
#11
Hallo Ralf,

Aus Prinzip sollte man den Einsatz von On Error auch auf den Part beschränken, wo man einen Abbruch vermeiden will.

Also in diesem Fall mall ganz eng
Code:
For ...
  On Error Resume Next
  Name ...
  On Error Goto 0
Next

Man braucht es aber hier gar nicht. Mit dem Dir-Befehl kannst Du zuvor prüfen, ob eine Datei existiert.

Code:
For ...
  If Dir(LW:\Pfad\Datei)<>"" Then ...
    Name ...
  End If
Next


Der Vollständigkeit halber, auch wenn es nun hier nicht genutzt wird - im Filesystem-Object gibt es fileexists.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#12
Hallo Nora,

machs' doch einfach so:

Code:
Sub Dateien_Umbennen()
'Alle Dateien mit gerader Nummer umbenennen
Dim fs As Object, fVerz As Object
Set fs = CreateObject("scripting.FileSystemObject")
Set fVerz = fs.GetFolder("C:\Sammlung")

For Each fDatei In fVerz.Files

If CInt(StrReverse(Mid(StrReverse(fDatei.Name), 4, 3))) Mod 2 = 0 Then
Name "C:\Sammlung\" & fDatei.Name As "C:\Sammlung\Neu_" & Right(fDatei.Name, 7)
End If
   
Next fDatei

End Sub

Anmerkung: Man muss auch bei einer völligen Neuinstallation nicht Angst vor Datenverlust auf Laufwerk C haben! Der Speicher sollte allerdings weder allokiert noch formatiert werden.
Windows schiebt alle alten Daten in ein eigenes Verzeichnis. Viel Spaß mit dem Code.
Top
#13
Hallöchen,

wenn man einmal im FileSystemObject steckt, kann man das Umbenennen auch damit machen.
Statt
Name "C:\Sammlung\" & fDatei.Name As "C:\Sammlung\Neu_" & Right(fDatei.Name, 7)
dann
fDatei.Name = "Neu_" & Right(fDatei.Name, 7)

Vorteilhaft wäre auch eine Prüfung das Dateinamens auf die erwartete Syntax. In der Frage habe ich nicht herausgelesen, dass ausschließlich Dateien nach dem Muster "Name_" und 3-stellige Zahl enthalten sind.
Alternativ könnte man alle betroffenen Dateien zur Umbenennung in ein gesondertes Verzeichnis verschieben oder alles was nicht dazu gehört.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#14
Hallo Nora,

unter der Vorraussetzung, dass die Zahlen sich zwischen dem Unterstrich und dem Punkt vor der Dateinamenserweiterung befinden, könnte den Code auch so schreiben:

Code:
Sub DateienImVerzeichnis_Version2()
Dim fs As Object, fVerz As Object
Set fs = CreateObject("scripting.FileSystemObject")
Set fVerz = fs.GetFolder("C:\Sammlung")

For Each fDatei In fVerz.Files
If CInt(Split(Split(fDatei.Name, ".")(0), "_")(1)) Mod 2 = 0 Then
fDatei.Name = "Neu_" & Split(fDatei.Name, "_")(1)
End If
Next fDatei

End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste