Sonstiges > Offtopic
Mit VBScript Filenames ergänzen bzw ändern
adminnaddel:
Hallo liebe Gemeinde,
ich arbeite viel mit LN und Html-Links, muß aber immer wieder feststellen, daß in der historisch gewachsenen Filestruktur der Kundenverzeichnisse viele Filenames getrennt durch Leerschritte sind >:(
Nun gibt es die Möglichkeit, das ich mir händisch die 5000 Dateien nehme und überprüfe oder ich bastel mir ein Script!
Jemand eine Ahnung, wie man das realisieren kann?
lg
andy
adminnaddel:
Okay .. Ihr da draußen ....
vielleicht habe ich mich ja wieder einmal mißverständlich ausgedrückt 8)
Ich suche nach einer Möglichkeit, in einem Verzeichnis nach einem bestimmtem String (dem Leerschritt) im Dateinamen zu suchen! Wenn gefunden, ersetze diesen String durch z.B. einem " _ " !!!
lg
Andy
sloe:
Hi,
Benutzung auf eigene Gefahr...
' *************************************
' C:\KillSpace.vbs
' Ersetze Leer-Zeichen in Dateinamen
' 18.01.05 09:58
' (C) by Sloe 2005
' *************************************
Option Explicit
Dim oFso, oFolder, oShell, objFile
Dim sPfad, NewFileName, MyFile
Dim SearchString, SearchChar, Pos, ReplaceWith
Call Main
Sub Main
Set oFso = WScript.CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("WScript.Shell")
sPfad = Inputbox("Bitte Ordnerpfad eingeben:" , , "E:\TestRename")
SearchChar = " " ' Search for " ".
Set oFolder = oFso.GetFolder(sPfad)
For Each objFile In oFolder.Files
SearchString = objFile.Name ' String to search in.
ReplaceWith = "_"
Pos = Instr(1, SearchString, SearchChar) ' Search...
If Len(Pos) > 0 Then
' Hit, now replace
NewFileName = Replace(SearchString, SearchChar, ReplaceWith)
Set MyFile = oFso.GetFile(sPfad & "\" & SearchString)
MyFile.Move sPfad & "\" & NewFileName
End If
Next
WScript.Echo "Auftrag ausgeführt!"
End Sub
adminnaddel:
@sloe ....
Vielen Dank für deinen Code! Habe es im Testverzeichnis getestet und es funktioniert! ;D danke!
Aber warum sagst du: "auf eigene Gefahr"?
Habe ich etwas zu befürchten?
lg
Andy
adminnaddel:
Okay, für alle die ebenfalls auf das VBS Lust verspüren, ich habe den Code durch eine Verzeichnisauswahl ergänzt, um es konfartabler zu gestalten!
Option Explicit
Dim oFso, oFolder, oShell, objFile, objShell, objFolder, objFolderItem
Dim sPfad, NewFileName, MyFile, strNewName, objPath, intValue
Dim SearchString, SearchChar, Pos, ReplaceWith
Call FolderAuswahl
Sub FolderAuswahl
Const WINDOW_HANDLE = 0
Const NO_OPTIONS = 0
Const OverWriteFiles = True
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder (WINDOW_HANDLE, "Ordner mit Bildern auswählen:", NO_OPTIONS, "C:\ d:\")
Set objFolderItem = objFolder.Self
sPfad = objFolderItem.Path
End Sub
Call Main
Sub Main
Set oFso = WScript.CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("WScript.Shell")
SearchChar = " " ' Search for " ".
Set oFolder = oFso.GetFolder(sPfad)
For Each objFile In oFolder.Files
SearchString = objFile.Name ' String to search in.
ReplaceWith = "_"
Pos = Instr(1, SearchString, SearchChar) ' Search...
If Len(Pos) > 0 Then
' Hit, now replace
NewFileName = Replace(SearchString, SearchChar, ReplaceWith)
Set MyFile = oFso.GetFile(sPfad & "\" & SearchString)
MyFile.Move sPfad & "\" & NewFileName
End If
Next
WScript.Echo "Auftrag ausgeführt!"
End Sub
lg
Andy
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln