小编Kev*_*inD的帖子

添加/删除程序在哪里为"已安装"列添加数据?

我正在使用VBScript复制Windows 7/8添加删除程序小程序.我已经让脚本包含所有正确的条目,但我无法让它包含Windows显示的所有正确的附加信息.

例如:Windows显示带有日期的"已安装"列.在某些情况下,它从相关的注册表键获取这些,如:

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKUS\USER - SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
Run Code Online (Sandbox Code Playgroud)

很少有键实际上具有InstallDate值,Windows总是填充此列.我设法从WMI中抓住了大部分缺失的日期:

 ("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'" & "")
for each objSoftware in colSoftware
Date = objSoftware.InstallDate
Run Code Online (Sandbox Code Playgroud)

这仅提供MSI安装的应用程序的日期.

我想也许Windows"猜到"基于Program Files/ProgramData文件日期的日期,但我尝试手动更改它们并没有反映在添加/删除中.我正在试图弄清楚Windows如何拉动这个日期.我注意到CCleaner可以重现添加/删除而不会出错,所以这些信息可以在某处获得.我只是筋疲力尽地寻找它.

windows vbscript wmi date addremoveprograms

8
推荐指数
1
解决办法
1万
查看次数

使用If"II"检查同一查询的多种可能性

这通常是我可以在网上很容易找到的东西,但我认为我的措辞很难,所以如果这是一个重复的问题,我道歉.

我正在寻找一种更简洁的方法来对同一查询进行IF/OR检查.例如:

if (sCheck == "string1" || sCheck == "string2" || sCheck == "string3")
{
   MessageBox.Show(sCheck + " is one of the three possible strings.");
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更简洁的方式来做同样的If/Or.我希望这些东西可以工作,但当然他们不会:

if (sCheck == "string1" || "string2" || "string3") { }

if (sCheck == ("string1" || "string2" || "string3")) { }
Run Code Online (Sandbox Code Playgroud)

c# if-statement

4
推荐指数
1
解决办法
243
查看次数

如何启用 %UserProfile% 以使用文件夹重定向编写脚本?

我正在试验文件夹重定向,在设置好之后,我很快意识到任何具有 %UserProfile% 等环境变量的 VBS 脚本都变得不可用。

例如:

 C:\MD %UserProfile%\Desktop\Not_Created_On_Real_Desktop\
Run Code Online (Sandbox Code Playgroud)

'Place to deposit excel output file
Depo=oShell.ExpandEnvironmentStrings("%userprofile%" & "\Desktop\Folder_This_User_Needs_Easy_Access_To\")
if not objfso.folderexists(Depo) then
objFSO.CreateFolder(Depo)
end if
Run Code Online (Sandbox Code Playgroud)

这些在使用文件夹重定向时不再起作用。我希望有一个解决办法,因为我现有的很多脚本都依赖于这个变量保持有效。我发现 .NET 能够通过以下方式拉出重定向的文件夹:

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Run Code Online (Sandbox Code Playgroud)

不过,我没有太多运气找到 VBS 的等价物。

任何帮助表示赞赏。谢谢!

vbscript

3
推荐指数
1
解决办法
1495
查看次数

标签 统计

vbscript ×2

addremoveprograms ×1

c# ×1

date ×1

if-statement ×1

windows ×1

wmi ×1