Vbscript 仅当上一个命令已完成时才启动命令

Vbscript 仅当上一个命令已完成时才启动命令,vbscript,Vbscript,我正在尝试组合两个(第三方)脚本,因为我必须更改某些媒体文件的扩展名,但我想在继续重命名之前终止播放机的(最终)过程(以防某些文件正在使用) 我注意到执行下面的脚本会产生“权限被拒绝”错误,并且一些文件不会被重命名 我需要一些帮助来更正脚本,以便使重命名命令仅在进程实际终止后启动 在本例中,我尝试在(无扩展)和flv之间切换所有扩展 如果仍可以发现该进程为活动进程,请在终止该进程后进行检查。使用循环可以等待进程不再处于活动状态,也可以重试终止,直到进程结束。@Eta Beta:您有权重命名该文件

我正在尝试组合两个(第三方)脚本,因为我必须更改某些媒体文件的扩展名,但我想在继续重命名之前终止播放机的(最终)过程(以防某些文件正在使用)

我注意到执行下面的脚本会产生“权限被拒绝”错误,并且一些文件不会被重命名

我需要一些帮助来更正脚本,以便使重命名命令仅在进程实际终止后启动

在本例中,我尝试在(无扩展)和flv之间切换所有扩展


如果仍可以发现该进程为活动进程,请在终止该进程后进行检查。使用循环可以等待进程不再处于活动状态,也可以重试终止,直到进程结束。@Eta Beta:您有权重命名该文件吗?您是否尝试过通过windows资源管理器手动执行此操作?可能是登录用户没有足够的权限重命名文件,所以我会先测试一下。@Eta Beta:另外,上面的VB脚本实际上没有重命名任何东西。它所做的只是获取每个文件的基本文件名,就这样。因此,如果这是您的实际脚本,我可能建议您检查myFolder是否包含存在的路径。@是的,我有权重命名文件,是的,脚本会在(无扩展名)和flv之间切换所有文件(存在于myFolder中)的扩展名。
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