ファイルの名前を変更しようとしており、以下のコードを使用していましたが、機能していないようです。誰かが理由を教えてもらえますか? VBScript からファイルの名前を変更する正しい方法は何ですか?
FSO.GetFile("MyFile.txt).Name = "Hello.txt"
このスレッドを参照用に使用しています:同じフォルダーにコピーせずにファイルの名前を変更します
ファイルの名前を変更しようとしており、以下のコードを使用していましたが、機能していないようです。誰かが理由を教えてもらえますか? VBScript からファイルの名前を変更する正しい方法は何ですか?
FSO.GetFile("MyFile.txt).Name = "Hello.txt"
このスレッドを参照用に使用しています:同じフォルダーにコピーせずにファイルの名前を変更します
ファイルを移動することで、FSO を使用してファイルの名前を変更できます: MoveFile メソッド。
Dim Fso
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Fso.MoveFile "A.txt", "B.txt"
コードが機能しない理由は 1 つだけです。ファイル名文字列の後に引用符がありません。
VB スクリプト:
FSO.GetFile("MyFile.txt[missed_quote_here]).Name = "Hello.txt"
はい、できます。
ここでは、.exe ファイルの名前を .txt ファイルに変更しています
ファイルの名前を変更する
Dim objFso
Set objFso= CreateObject("Scripting.FileSystemObject")
objFso.MoveFile "D:\testvbs\autorun.exe", "D:\testvbs\autorun.txt"
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