HTA 中的 VBS 找不到特定文件,但 Batch 可以
VBS in HTA cannot find specific file but Batch can
我有一个 HTA 来执行一些任务,这个子用于操作一些本地目录。当我 运行 这一行时:
oShell.run "rename ""C:\DSS\Scanbay\Data"" ""DataX"""
不行,自然是我定义了oShell等...
当我运行这一行作为批处理文件时:
rename "C:\DSS\Scanbay\Data" "DataX"
效果很好!
我无法弄清楚为什么找不到 vbs returns 文件错误,请帮忙?
正如其他人已经指出的那样,rename
是 CMD 内置命令,而不是可以直接调用的外部程序。不过,您可以通过 CMD 调用它:
oShell.Run "cmd /c rename ""C:\DSS\Scanbay\Data"" ""DataX"""
话虽如此,重命名文件或文件夹的更好方法是使用 FileSystemObject
:
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetFolder("C:\DSS\Scanbay\Data")
d.Name = "DataX"
我有一个 HTA 来执行一些任务,这个子用于操作一些本地目录。当我 运行 这一行时:
oShell.run "rename ""C:\DSS\Scanbay\Data"" ""DataX"""
不行,自然是我定义了oShell等...
当我运行这一行作为批处理文件时:
rename "C:\DSS\Scanbay\Data" "DataX"
效果很好!
我无法弄清楚为什么找不到 vbs returns 文件错误,请帮忙?
正如其他人已经指出的那样,rename
是 CMD 内置命令,而不是可以直接调用的外部程序。不过,您可以通过 CMD 调用它:
oShell.Run "cmd /c rename ""C:\DSS\Scanbay\Data"" ""DataX"""
话虽如此,重命名文件或文件夹的更好方法是使用 FileSystemObject
:
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetFolder("C:\DSS\Scanbay\Data")
d.Name = "DataX"