VBS, fso.FolderExists, как правильно установить путь - PullRequest
0 голосов
/ 30 января 2020

Я новый столяр :) Я написал скрипт для переименования пользовательского файла на клиентском диске C :. Скрипт отлично справляется со своей задачей. Единственная проблема в конце, чтобы убедиться, что папка переименована или нет, я запускаю скрипт fso.FolderExists, чтобы проверить, существует этот файл или нет. Там я терплю неудачу :( Скрипт переименовывает файл, но всегда выдает сообщение об ошибке. Я предполагаю, что я ставлю патч неправильно, поэтому он не может его проверить. На локальной машине он работает нормально, проблема только с удаленной машиной. Посоветуйте мне, как я могу проверить, переименован ли файл или нет. Приветствия и пожелания

strComputer = inputbox("Please enter machine name", "CustomTitle")

strComputer = Trim(strComputer)
Set objShell = CreateObject("WScript.Shell")
    boolCode = objShell.Run("Ping -n 1 -w 200 " & strComputer, 0, True)
    If boolCode = 0 Then
        Ping = True
    Else
        Ping = False
    End If

If IsNull(strComputer) Or strComputer = "" Then
        WScript.Echo "No PC name. Quitting.."
        WScript.Quit
    Elseif Ping = False Then
        WScript.Echo " " & strComputer & " is offline or inccorect name. Quitting.."
        WScript.Quit
else
WScript.Echo " " & strComputer & " is online. Click OK to continue. " & strUser
end if
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")

For Each objItem in colItems
arrName = Split(objItem.UserName, "\")

Next
strUser = arrName(1)

If msgbox("Click YES to continue. Current logged in user: " & strUser,4096+64+4,"Confirm the user") = 
vbNo Then
WScript.Quit

End If

Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where name = 'c:\\Users\\" & strUser &"\\AppData\\Local\\Microsoft\\MyCustomFolder'")

For Each objFolder in colFolders
errResults = objFolder.Rename("C:\Users\" & strUser &"\AppData\Local\Microsoft\OLD.MyCustomFolder")

Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where name = 'c:\\Users\\" & strUser &"\\AppData\\Roaming\\Microsoft\\MyCustomFolder'")

next

For Each objFolder in colFolders
errResults = objFolder.Rename("C:\Users\" & strUser &"\AppData\Roaming\Microsoft\OLD.MyCustomFolder")

Next

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("c:\\Users\\" & strUser &"\\AppData\\Local\\Microsoft\\OLD.MyCustomFolder") Then 

wscript.echo "Done !"

Else

wscript.echo "Oops! File couldn't be renamed"

End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...