我需要在安全模式下重新启动后运行一次进程,该进程是这样的:
\n\nbcdedit.exe /import "%WINDIR%\\Restore BootLoader Settings.bcd"\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试使用 RunOnce 密钥,但我注意到密钥不会在安全模式启动下运行,所以...是否存在其他方式在安全模式启动下运行该死的进程?
\n\n更明确地说,这就是我想要做的:
\n\n在正常模式或任何其他模式下,我导出所有引导加载程序条目的当前设置。
然后我更改当前引导加载程序条目的一些参数,然后重置电脑。
这就是问题所在,例如,当在安全模式下再次登录 Windows 时,我需要在新更改之前恢复(导入)设置,以便在重置计算机时不再以安全模式启动。
我怎样才能做到这一点?
\n\n这是我的vbs脚本:
\n\n\' Restart in Safe Mode\n\' By Elektro H@cker\n\nIf Not Msgbox( _\n "\xc2\xbfSeguro que quieres reiniciar el equipo?", _\n 4 or 48, _\n "Reiniciar en Modo Seguro..." _\n ) = vbNo _\nThen\n\nSet wshShell = WScript.CreateObject("WScript.Shell")\n\nTempFile = """" & wshShell.ExpandEnvironmentStrings("%WINDIR%") & "\\" & "Bcdedit settings.bcd" & """"\n\nwshShell.Run "bcdedit /export " & TempFile, 0, True\nwshShell.Run …Run Code Online (Sandbox Code Playgroud) 有没有办法在 Visual Basic 中找到 PC 用户(C:\User\"here")。我们获取之后,将其保存为字符串即可。
我知道答案可能有点明显,但我不知道如何做到这一点
在我的机器上,Ghostscript (GS) 安装在:
C:\Program Files\gs\gs9.01\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)
但在另一台机器上,可能安装了不同的版本:
C:\Program Files\gs\gs7.52\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)
或者甚至在完全不同的子文件夹中:
C:\Program Files\ghost\script\gs8.00\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)
gswin32.exe我试图找到一个 VBS 函数来确定在当前计算机上可以找到的路径,首先尝试仅使用不同的子文件夹\gs\:
Set oShell = createObject("WScript.Shell")
objShell.Run("C:\Program Files\gs\*\bin\gswin32.exe")
Run Code Online (Sandbox Code Playgroud)
然而,这是行不通的。路径中也没有任何其他通配符。我现在怀疑这是否是正确的方法,所以我的问题是:
如何确定可执行文件 gswin32.exe 的安装位置?
我有一个像这样的字符串"f_details(\'277095\');">。我只需要得到这个277095部分。我一直在尝试 的变体strPattern = "\'[0-9]\'+",但这要么什么也没找到,要么找到错误的东西。
尽管我面前有一张备忘单,但我不懂正则表达式。已经花了一个小时尝试不同的事情。这个正则表达式会是什么样子?
\n\n这是我用来抓取该网站并获取数据的代码:
\n\nSet objWshShell = Wscript.CreateObject("Wscript.Shell")\nSet IE = CreateObject("internetexplorer.application")\nSet fso = CreateObject("Scripting.FileSystemObject")\n\non error resume next\nFor i=1 To 77 \'77 Counties\n\nIf i=77 Then Exit For\n\nIE.Visible = True\nIE.Navigate "https://lic.ok.gov/PublicPortal/OREC/FindAssociateEntity.jsp"\nDo Until IE.ReadyState = 4: WScript.sleep 15: Loop\n\nDo Until IE.Document.ReadyState = "complete": WScript.sleep 10: Loop\nIE.Document.getElementsByTagName("select")("AddrCountyCode").Value = i\n\nDo Until IE.Document.ReadyState = "complete": WScript.sleep 10: Loop\nFor Each btn In IE.Document.getElementsByTagName("input")\nIf btn.name = "btnSearch" Then btn.Click()\nNEXT\n\nstrPattern = "\'(\\d+)\'"\n\nstrTestString = ie.document.body.innerhtml\n\narrAllMatches = fGetMatches(strPattern, strTestString)\n\nIf UBound(arrAllMatches) …Run Code Online (Sandbox Code Playgroud) 我在 Excel 文件中有一个工作表,我想在其中删除第 1 列中的重复值。在 Excel 中,当您在“数据”下单击,然后在第一列名为“Code”的列上删除重复项时,它具有此功能。我正在尝试将其转换为 VBScript,但不确定如何。我尝试录制一个宏来获取 VBA 语法,但它与 VBScript 不同。我从录制的宏中得到的代码是
Sub Macro1()
Columns("A:A").Select
ActiveSheet.Range("$A$1:$K$523").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
Run Code Online (Sandbox Code Playgroud) 我尝试使用 if 语句,但出现错误,Subscript out of range我知道为什么出现错误。如何检查 vbscript 脚本是否调用了参数。
if args.count > -1 then
exec(args(0)) 'exec is a function that I defined. I know this is working.
wscript.quit
end if
Run Code Online (Sandbox Code Playgroud) 我有一个程序将字符串打印到记事本文件中,输出是随机的:
#'f7ruhigbergbn
但是我想从粘贴的结果中删除前 3 个字符,我该怎么做?
myString = "#'f"
result = workings - myString
Run Code Online (Sandbox Code Playgroud)
这是行不通的,记住前 3 个字符总是#'f
有什么想法吗?谢谢
在最新版本的 Win10 上,可以将活动代码页 (ACP) 设置为 UTF-8 代码页。正如此处所讨论的,可以将系统区域设置(用于在 Windows API 的“A”版本和“W”版本之间进行映射)设置为使用 UTF-8 代码页。
脚本如何检测 UTF-8 代码页是否正在使用?
正如此处和此处所讨论的,通常可以使用 WMI 来获取系统代码页 ID:
For Each os In wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem")
cs = os.CodeSet
Next
Run Code Online (Sandbox Code Playgroud)
当我在 Win10 上尝试该操作时,设置对非 unicode 程序使用美式英语的“beta”utf-8 支持,WMI 继续报告代码页为 1252。尽管情况显然并非如此(代码页 1252 有128 处有一个代码点,但 49800 处没有代码点:UTF-8 49800 处有一个代码点,128 处没有代码点)。
脚本如何检测实际系统区域设置是否使用 UTF-8 代码页?
我有一个相当大的数据列表,每个元素包含5个属性.元素由";"分隔.我想在VBScript中将元素读入数组.看起来很简单,可以在大G上搜索这个,但是所有明显的例子都假设您想逐行读取然后将内容拆分为";"上的一行.字符.我不在乎有多少行,直到";" 我只想让每个元素的所有信息(在本例中为5个属性字段)都在一个数组元素中.
源文件如下所示:
element1 property1 = blah element1 property2 = blah element1 property3 = blah element1 property4 = blah element1 property5 = blah ;element2 property1 = blah element2 property2 = blah element2 property3 = blah element2 property4 = blah element2 property5 = blah ;element3 property1 = blah element3 property2 = blah element3 property3 = blah element3 property4 = blah element3 property5 = blah
我想要发生的是我的VBScript数组(0)
"element1 property1 = blah element1 property2 = blah element1 property3 = blah element1 property4 = blah …
我在ASP应用程序中使用旧的VBScript.尝试使用Replace(wholeText,textToSearch,textToReplace)函数搜索和替换字符串,但是我收到以下错误:
Microsoft VBScript runtime error '800a005e'
Invalid use of Null: 'Replace'
/instance/inst_spam_gen_4.asp, line 25
Run Code Online (Sandbox Code Playgroud)
这是我的功能:
Function cleanUpText(txt)
txt = Replace(txt, "“", """")
txt = Replace(txt, "”", """")
txt = Replace(txt, "’", "'")
txt = Replace(txt, "®", "®")
cleanUpText = txt
End Function
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
谢谢