- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
什么是 stackoverflow 批准的(因此正确的)方法来强制 VBS 使用 cscript 而不是 wscript 运行 - 无论用户尝试什么?
快速的谷歌搜索显示了大量的例子,但其中一些根本不起作用,而那些经常起作用的例子无法处理它可能是带有参数运行的事实,所以我很想知道什么是最好的方式是。
这是一个不处理参数的示例:
sExecutable = LCase(Mid(Wscript.FullName, InstrRev(Wscript.FullName,"\")+1))
If sExecutable <> "cscript.exe" Then
Set oShell = CreateObject("wscript.shell")
oShell.Run "cscript.exe """ & Wscript.ScriptFullName & """"
Wscript.Quit
End If
我意识到这可能可以很容易地修改来处理参数,但意识到这可能不是解决问题的最佳方法。
背景:我正在编写一个脚本,可以通过双击或(很可能)从 DOS 批处理文件或作为计划任务来运行。它可以包含一个或多个可选命令行参数。
最佳答案
天哪,这纯粹是垃圾。看到如此粗糙的编码让我哭了(无意冒犯任何人,哈哈)。不过说真的,这是我的 2 便士:
Sub forceCScriptExecution
Dim Arg, Str
If Not LCase( Right( WScript.FullName, 12 ) ) = "\cscript.exe" Then
For Each Arg In WScript.Arguments
If InStr( Arg, " " ) Then Arg = """" & Arg & """"
Str = Str & " " & Arg
Next
CreateObject( "WScript.Shell" ).Run _
"cscript //nologo """ & _
WScript.ScriptFullName & _
""" " & Str
WScript.Quit
End If
End Sub
forceCScriptExecution
它处理参数,并检查所述参数中的空格 - 因此,如果文件名传递到包含空格的原始脚本实例,则在传递到 cscript.exe 时它不会被“标记化”。
它唯一不做的就是测试 StdIn(例如,在有人通过命令行将某些内容通过管道传输到脚本的情况下,但忘记使用“cscript script.vbs”)——但是如果它被执行了通过 WScript.exe,WScript.StdIn 的方法都返回 Invalid Handle 错误,因此无论如何都无法测试。
如果有办法“打破”这个问题,请随时告诉我;如果有必要,我愿意改进它。
关于vbscript - 强制 VBS 使用 cscript 而不是 wscript 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692542/
我正在使用 CScript 来运行 VBScript 文件,我需要将命令行传递给脚本,其中参数包含空格和引号。整个命令需要作为一个参数传递给脚本。例如: C:\> CScript myscript.v
我有一个简短的 JScript,它创建一个事件的 X 对象并调用一个函数。那个事件的 X 对象是用 C++ 编写的。当我运行命令 cscript scriptName.js//X 时,我以 Debug
如果我有一个将行输出到屏幕的 cscript,如何避免每次打印后出现“换行”? 例子: for a = 1 to 10 WScript.Print "." REM (do something)
目前,WScript 在出现脚本错误时会弹出消息框。这些脚本由其他进程调用,并在服务器上运行,因此没有人可以忽略错误框。 我想要的是将错误消息转储到 STDOUT,并执行以返回调用进程。作为 MSGB
这是运行记事本程序并粘贴存储在该程序本身中的特定文本的 java 程序代码.... 我想知道你能否向我解释一下 String vbs 值,还有 File file 和 ("cscript//NoLog
我想知道是否可以将脚本作为字符串传递给 cscript/wscript,类似于 PowerShell 的 -Command 选项。或者,还有其他方法可以从 cmd 执行 VBS 脚本吗? cscrip
我可以为 cscript 脚本提供某种选项来显示它在做什么吗? 类似于在 unix shell 或 bash 脚本上设置 -x 选项。我没有编写脚本,但我真的很想弄清楚它在做什么。 最佳答案 尝试使用
WSCRIPT与CScript区别 窗口中运行,WSCRIPT;命令行中运行,CScrip; cscript因为把输出放进了控制台 所以可以对它重定向 方便程
我有一个批处理文件正在运行,它会输出一个文本/html 文件。批处理文件导致文本文件中出现一些换行符,这在电子邮件中打开文件时无法很好地转换。我一直在尝试阅读 CScript 以创建一个可以读取文本文
我有一个小的命令行 JScript 例程,我通常在 Windows 中使用 cscript 从命令行运行它。我希望能够按照以下方式传递参数... %:>cscript doSomethingToFil
命令输出问题: 我正在尝试将连续的 ping 报告返回到文本文件。 开始于: ping 127.0.0.1 -t >> C:Textping.txt 效果很好 我还想在每次 ping 之前列出时间戳
cscript 和 wscript 有什么区别?哪个最适合在 Windows 中执行 Telnet 和 FTP 自动化? 最佳答案 在 Windows 中,可执行文件是控制台应用程序或 Windows
问题:当我双击 .bat 文件时,它按预期执行。当我在 Windows 任务计划程序中安排它时,它会执行,除了具有 cscript 的行。 .bat 文件内容: @echo off cls cscri
我在运行它时不断收到错误,但是当我在 html 中运行它时,它可以工作 错误 cscript脚本.js script.js(1, 1) Microsoft JScript 编译错误:语法错误 代码
我正在尝试学习如何使用 CScript.exe 运行 Javascript(而不是 VBScript),但是当我尝试时,出现错误: cscript temp.js Input Error: There
我在 Excel 中创建了一个宏,并从 .vbs 文件运行它。它在我的笔记本电脑上运行良好。我在一台新笔记本电脑上复制了同样的工作,每次我运行 vbs 文件时,屏幕上都会出现这个窗口。 我做了一些研究
我想我无法使用 Scripting.FileSystemObject 类读取二进制文件。我可以用 ADODB.Stream 做吗? 还有什么? 我想得到一个字节数组。 谢谢。 最佳答案 它也可以将文件
如何强制 vbs 脚本在 cscript 主机而不是 WScript 主机中运行? 在 XP/Vista/7 中如何通过命令提示符可靠地确定 vbs 是否正在运行? 此外,如果它不是从命令提示符运行的
我们正在使用 npm-regedit 模块在 Windows 中读取/写入注册表。我们在 Electron 应用程序中使用它。通常,当我们运行应用程序时它可以正常工作,但是当我们将应用程序设置为在启动
我想知道特定机器上 VBScript 的默认主机是什么,是设置为 WScript 还是 CScript ?例如,如果我使用 cscript//h:cscript//s 那么有什么方法可以检查 VBSc
我是一名优秀的程序员,十分优秀!