1

Эта часть, кажется, код для изменения:

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 ответ1

1

У вас есть несколько вариантов.

  1. Вы можете указать путь к файлу из %USERPROFILE% например, %USERPROFILE%\Downloads\ . Это даст вам папку Download для текущего вошедшего в систему пользователя.

  2. Вы можете предоставить это в качестве argument , больше информации об этом здесь .

По сути, тогда вы бы назвали файл cscript FILE.vbs "C:\Temp\Folder\" и в своем сценарии использовали бы:

objArgs = WScript.Arguments
Set fol = fso.GetFolder(objArgs(0))
  1. Пример, который вы нашли, даст вам текущую рабочую папку. Например, если ваш VBS находится в C:\Temp\Test\test.vbs

    Set fol = fso.GetFolder(fso.GetAbsolutePathName("."))

Это сделало бы fol содержимого папки в C:\Temp\Test - Имейте в виду, это будет включать в себя ваши VBS файл , который вы работаете ..!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .