Jeg vil gerne have et vbscript (eller BAT eller andet som kan afvikles i Windows) der kan iterere igennem alle filnavne (ikke mappenavne) i MAPPE1 samt alle undermapper, og udskrive følgende (ud fra eksemplet) i en tekstfil: - file1 - file2 - file2.att - file3 - file3.att
Altså: - først og fremmest ignorere fil-endelsen - men ikke evt. andre dele af filnavnet som kommer efter et punktum (men før fil endelsen). - dernæst kun den del af filnavnet der kommer før den første _ (underscore). - og så så kun unikke, dvs. ikke to af "file1".
Ved godt dette lyder indviklet og råddent, men jeg desværre i en situation hvor jeg skal have det gjort :-(
mlngfileCount = 0 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strPath) Call ReplaceFileNameInFolder(objFSO, objFolder, strFind) MsgBox "Find and change finished!" & vbCrLf & "Changed " & mlngfileCount, vbInformation
Sub ReplaceFileNameInFolder(objFSO, objFolder, strFind) Dim objDocFile Dim objSubFolder Dim objDoc Dim objHyperlink Dim blnChanged Dim strOldAddress Dim strNewAddress Dim StrFolder
For Each objDocFile In objFolder.Files If UCase(objFSO.GetExtensionName(objDocFile.Path)) = "TXT" Then 'renames the file wscript.echo objDocFile.Name mlngfileCount = mlngFileCount + 1 End If Next
For Each objSubFolder In objFolder.SubFolders Call ReplaceFileNameInFolder(objFSO, objSubFolder, strFind) Next End Sub
Og supertekst, blot for lige at gøre opmærksom på han rent faktisk selv skriver at det skal være med undermapper.. :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.