web-dev-qa-db-fra.com

renommer un fichier en utilisant VBScript

J'essaie de renommer un fichier et utilisais le code ci-dessous, mais cela ne semble pas fonctionner. Quelqu'un peut-il s'il vous plaît me dire pourquoi? J'utilise ce fil pour référence Renommer des fichiers sans les copier dans le même dossier

FSO.GetFile ("MyFile.txt) .Name =" Hello.txt "

10
user505210

Vous pouvez renommer le fichier à l'aide de FSO en le déplaçant: Méthode MoveFile .

Dim Fso
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Fso.MoveFile "A.txt", "B.txt"
28
Roman R.

Je ne vois qu'une seule raison pour laquelle votre code ne fonctionne pas, citation manquée après chaîne de nom de fichier:

VBScript:

FSO.GetFile("MyFile.txt[missed_quote_here]).Name = "Hello.txt"
10
seeker

Oui, tu peux faire ça.
Ici, je suis en train de renommer un fichier .exe en fichier .txt 

renommer un fichier  

Dim objFso  
Set objFso= CreateObject("Scripting.FileSystemObject")  
objFso.MoveFile "D:\testvbs\autorun.exe", "D:\testvbs\autorun.txt"
1
user6842283
Rename filename by searching the last character of name. For example, 

Original Filename: TestFile.txt_001
Begin Character need to be removed: _
Result: TestFile.txt

Option Explicit

Dim oWSH
Dim vbsInterpreter
Dim arg1 'As String
Dim arg2 'As String
Dim newFilename 'As string

Set oWSH = CreateObject("WScript.Shell")
vbsInterpreter = "cscript.exe"

ForceConsole()

arg1 = WScript.Arguments(0)
arg2 = WScript.Arguments(1)

WScript.StdOut.WriteLine "This is a test script."
Dim result 
result = InstrRev(arg1, arg2, -1)
If result > 0 then
    newFilename = Mid(arg1, 1, result - 1)
    Dim Fso
    Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
    Fso.MoveFile arg1, newFilename
    WScript.StdOut.WriteLine newFilename
End If



Function ForceConsole()
    If InStr(LCase(WScript.FullName), vbsInterpreter) = 0 Then
        oWSH.Run vbsInterpreter & " //NoLogo " & Chr(34) &     WScript.ScriptFullName & Chr(34)
        WScript.Quit
    End If
 End Function
0
Cavin