一部のメディア ファイルの拡張子を変更する必要があるため、2 つの (サード パーティの) スクリプトをまとめようとしていますが、名前の変更に進む前にプレーヤーの (最終的な) プロセスを終了したい (一部のファイルが使用する)。
以下のスクリプトを実行すると、「権限が拒否されました」というエラーが発生し、一部のファイルの名前が変更されないことに気付きました。
プロセスが実際に終了した後にのみ名前変更コマンドが開始されるように、スクリプトを修正するための助けが必要です。
この例では、すべての拡張子を (拡張子なし) と flv の間で切り替えようとしています。
Const strComputer = "."
Dim objWMIService, colProcessList
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'KM Player.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
myFolder = "C:\Some Path\My Media Folder"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each f In fso.GetFolder(myFolder).Files
If LCase(fso.GetExtensionName(f.Name)) = "" Then
f.Name = fso.GetBaseName(f.Name) & ".flv"
ElseIf LCase(fso.GetExtensionName(f.Name)) = "flv" Then
f.Name = fso.GetBaseName(f.Name) & "."
End If
Next