我想删除将从txt文件中读取的多个文件夹。我不知道如何让它通过文本文件中的计算机循环,同时拉动当前登录的用户。我尝试了一些代码,但没有足够的经验将它与我目前的代码合并。如何从计算机的txt列表中远程删除%appdata%等文件夹?
我有一个工作脚本,从一个txt文件中的计算机列表中删除文件夹,除了%APPDATA%,等等...这就是为什么我使用vbscript。
只是要注意,我无法使用比Windows自带7安装其他任何软件,这消除PSEXEC等..
任何帮助将不胜感激,谢谢!
InputFile = "C:\complist.txt"
Const DeleteReadOnly = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFile = objFSO.OpenTextFile(InputFile)
Do While Not (objFile.AtEndOfStream)
strComputer = objFile.ReadLine
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFolder("\\" & strComputer & "\c$\test")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%APPDATA%\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%LOCALAPPDATA%\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%USERPROFILE%\Documents\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%ALLUSERSPROFILE%\Application Data\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%ALLUSERSPROFILE%\Start Menu\Programs\PGP")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%CommonProgramFiles%\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\%ProgramFiles%\PGP Corporation")
objFSO.DeleteFolder("\\" & strComputer & "\c$\Windows\System32\config\systemprofile\AppData\Local\PGP Corporation")
Err.clean
Loop
MsgBox "Done"
可能更适合SuperUser Stackexchange。 –
我相信环境变量不会在远程计算机上工作。您需要循环访问该计算机中的所有相关文件夹。您最好还是将要删除的文件夹存储在数组中,并为其添加一个循环。 – PatricK
作为PatricK建议的替代方法,您可以使用reg.exe工具从远程注册表读取包含所需路径的键。 –