PC-Freak 0 Geschrieben 3. August 2016 Melden Teilen Geschrieben 3. August 2016 (bearbeitet) Servus, ich habe folgendes Problem: Ich habe den ehrenvollen Auftrag erhalten, unzählige Dateien an unserem PC umzubennen, genauer gesagt sollen alle Unterstriche durch Punkte ersetzt werden (z.B.: das_ist_toll.pdf --> das.ist.toll.pdf). Mein erster Gedanke war jetzt, einfach über die Kommandozeile den ren-befehl auszuführen, habe aber als totaler Terminal-Neuling versagt. :jau: Hat vielleicht jemand eine Idee? Die Suche über das Forum und der Suchmaschine meines Vertrauens war leider nicht von Erfolg gekrönt. Danke schon einmal im Voraus für Euer Engagement :) bearbeitet 4. August 2016 von PC-Freak Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 (bearbeitet) Wie weit bist Du denn? Zeig doch dein Script. Oder erwartest Du jetzt das wir das Script für dich schreiben? EDIT: In diesem Thread solltest Du eine Lösung finden: http://www.mcseboard.de/topic/132208-vbscript-f%C3%BCr-dateien-umbenennen/ bearbeitet 4. August 2016 von Sunny61 Zitieren Link zu diesem Kommentar
matze-it 10 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Für solche Aufgaben verwende ich das Mehrfachumbenenntool, das im Total Commander bei ist. Da kannst du Ersetzen-Muster angeben und die Sache ist in null,nix erledigt. Zitieren Link zu diesem Kommentar
PC-Freak 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 (bearbeitet) Für solche Aufgaben verwende ich das Mehrfachumbenenntool, das im Total Commander bei ist. Da kannst du Ersetzen-Muster angeben und die Sache ist in null,nix erledigt. Super, danke für den Tipp! Hat reibungslos funktioniert! Werde mich aber dennoch mal an eine funktionierende Batch-Datei wagen, um meine grauen Zellen etwas zu trainieren :p Wie weit bist Du denn? Zeig doch dein Script. Oder erwartest Du jetzt das wir das Script für dich schreiben? EDIT: In diesem Thread solltest Du eine Lösung finden: http://www.mcseboard.de/topic/132208-vbscript-f%C3%BCr-dateien-umbenennen/ Das Problem hat sich ja jetzt von selbst gelöst, aber das bietet eine gute Grundlage! Danke Dir! Mein bisheriger Fortschritt besteht momentan nur aus einigen Code-Zeilen, da meine Kenntnisse im Skripten von Batch-Dateien noch recht beschränkt sind und nicht über doch eher übersichtliche Anweisungen hinausgingen. Ich werde mich aber dennoch mal daran versuchen, was nicht ist, kann ja noch werden :wink2: bearbeitet 4. August 2016 von PC-Freak Zitieren Link zu diesem Kommentar
s_sonnen 20 Geschrieben 5. August 2016 Melden Teilen Geschrieben 5. August 2016 Hi PC-Freak. Falls Du's dann doch nicht mit 'ner batch machen willst kannst Du Dir ja mal "joe" anguggn. Ziemlich praktisch und das tool dürfte Deine Ansprüche erfüllen. ciao und 'nen angenehmen restlichen Freitag M. Zitieren Link zu diesem Kommentar
MurdocX 954 Geschrieben 5. August 2016 Melden Teilen Geschrieben 5. August 2016 Das wäre das Skript was du suchen könntest http://www.it-explorations.de/suchen-umbenennen-von-dateinamen-mit-powershell/ Zitieren Link zu diesem Kommentar
lumb 18 Geschrieben 5. August 2016 Melden Teilen Geschrieben 5. August 2016 Wenn Du oft solche Dinge hast, ist auch Autoit eine einfache Sache... Zitieren Link zu diesem Kommentar
Refnex 10 Geschrieben 18. Oktober 2016 Melden Teilen Geschrieben 18. Oktober 2016 (bearbeitet) Hi @ all,hatte sowas mal in vbs geschrieben. Hier Viel Spass '====================================================================================== ' ' Help file use html '====================================================================================== if msgbox("You like to show the Manual of this programm ?", vbYesNo,"Bulk File renamer powerd by xxx") = vbyes then Set wshshell = WScript.CreateObject("WScript.Shell") runman = "\\Server01\deployment$\Applications\Individual\HTM_Manuals_for_progs\Bulk_file_renamer\1.htm" wshshell.run(runman),0,false else ' hier code für nö end if '====================================================================================== '====================================================================================== ' Deklaration '====================================================================================== Dim oCmd, oFolder, oFSO, oFileList, oFile Dim sRenamePath, sRenamePrefix, sFileExtension, sConfirmRename, scriptcall Dim iFileCount, iFileIndex Dim bConfirmEach '====================================================================================== '====================================================================================== ' GUI Browse Folder '====================================================================================== ' Flags for the options parameter Const BIF_returnonlyfsdirs = &H0001 Const BIF_dontgobelowdomain = &H0002 Const BIF_statustext = &H0004 Const BIF_returnfsancestors = &H0008 Const BIF_editbox = &H0010 Const BIF_validate = &H0020 Const BIF_browseforcomputer = &H1000 Const BIF_browseforprinter = &H2000 Const BIF_browseincludefiles = &H4000 Dim wsh, objDlg, objF ' Get Application object of the Windows shell. Set objDlg = WScript.CreateObject("Shell.Application") ' Use the BrowseForFolder method. ' For instance: Set objF = objDlg.BrowseForFolder _ ' (&H0, "Select the folder to copy", &H10, "C:\Born") Set objF = objDlg.BrowseForFolder (&H0, _ "Please Select the folder to rename his Items", _ BIF_editbox + BIF_returnonlyfsdirs) ' Here we use the first method to detect the result. If IsValue(objF) Then sRenamePath = objF.Title Else WScript.quit() End If ' Here we use TypeName to detect the result. If InStr(1, TypeName(objF), "Folder") > 0 Then sRenamePath = objF.Title Else WScript.quit() End If Function IsValue(obj) ' Check whether the value has been returned. Dim tmp On Error Resume Next tmp = " " & obj If Err <> 0 Then IsValue = False Else IsValue = True End If On Error GoTo 0 End Function '====================================================================================== '====================================================================================== ' Choose Praefix '====================================================================================== sRenamePrefix = InputBox("Please input the Prefix for the Name", "Bulk File renamer powerd by xxx") If sRenamePrefix = "" Then wscript.Echo "Error no Praefix" WScript.quit() end if '====================================================================================== '====================================================================================== ' Rename Files in Loop '====================================================================================== 'Set wshshell = WScript.CreateObject("WScript.Shell") 'scriptcall = "rename.vbs" 'runthis = scriptcall & sRenamePath & sRenamePrefix 'wshshell.run(runthis) 'Set oCmd = Wscript.Arguments REM Select Case (oCmd.Count) REM Case 2 REM sRenamePath = oCmd.item(0) REM sRenamePrefix = oCmd.item(1) REM bConfirmEach = False REM Case 3 REM sRenamePath = oCmd.item(0) REM sRenamePrefix = oCmd.item(1) REM bConfirmEach = oCmd.item(2) REM Case Else REM WScript.Echo "RenameFiles.vbs requires 2 parameters:" &_ REM vbcrlf & "1) Folder Path (or . for current folder)" &_ REM vbcrlf & "2) File Prefix" &_ REM vbcrlf & "3) Confirm each file? True/*False* (optional)" REM WScript.Quit REM End Select ' ' Get a list of all files in the specified folder ' Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sRenamePath) Set oFileList = oFolder.Files For Each oFile in oFileList iFileCount = iFileCount + 1 Next For Each oFile in oFileList sFileExtension = Right(oFile.Name,Len(oFile.Name)-InStr(oFile.Name,".")) If (LCase(sFileExtension) <> "db" AND LCase(sFileExtension) <> "jbf") Then 'Skip thumbs.db and PSP.jbf files iFileIndex = iFileIndex + 1 If (bConfirmEach) Then sConfirmRename = LCase(InputBox("Rename " & oFile.Name & "?")) Else sConfirmRename = "y" End If If (sConfirmRename = "y") Then oFile.Move (sRenamePath & "\" & sRenamePrefix & "_" & _ ZeroFill(iFileIndex,Len(iFileCount)) & "." & sFileExtension) End If End If Next Set oFolder = Nothing Set oFSO = Nothing WScript.Echo "Done" WScript.Quit '====================================================================================== Function ZeroFill (sString, iFieldLength) ZeroFill = Right(String(iFieldLength, "0") & Ltrim(sString), iFieldLength) End Function bearbeitet 18. Oktober 2016 von Refnex Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.