这部分好像是需要修改的代码:
Set fol = fso.GetFolder("c:\TEST")
我怎样才能改变它以便它可以在任何计算机上从任何位置/路径运行?
我是否需要集成一个额外的代码,允许该人
暂时输入他们的计算机名称 - 例如 JOHN-PC / MARY-PC / PAUL-PC
它是否需要调用特定的位置/路径,或者有没有办法将其完全删除?
Dim sName
Dim fso
Dim fol
' create the filesystem object
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
' get current folder
Set fol = fso.GetFolder("c:\TEST")
' go thru each files in the folder
For Each fil In fol.Files
' check if the file name contains underscore
If InStr(1, fil.Name, "john") <> 0 Then
' replace underscore with space
sName = Replace(fil.Name, "john", "dave")
' rename the file
fil.Name = sName
End If
Next
' echo the job is completed
WScript.Echo "Completed!"
答案1
您有多种选择。
您可以根据文件路径来设置
%USERPROFILE%
- 例如,%USERPROFILE%\Downloads\
这将为您提供当前登录用户的下载文件夹。您可以将其作为
argument
更多信息提供这里。
实际上,您可以使用 调用该文件cscript FILE.vbs "C:\Temp\Folder\"
,并在脚本中使用:
objArgs = WScript.Arguments
Set fol = fso.GetFolder(objArgs(0))
您找到的示例将为您提供当前工作文件夹。例如,如果您的 VBS 位于
C:\Temp\Test\test.vbs
Set fol = fso.GetFolder(fso.GetAbsolutePathName("."))
这将使fol
文件夹内容C:\Temp\Test
- 请记住,这将包括您正在运行的 VBS 文件..!