我试图从我已经制作的VBS脚本中生成一个混合批处理-VBS脚本。它将给出一个inputBox,并使用结果来sapi.spvoice.Speak它。我试着把它变成一个批处理脚本(如下所示),但是它不起作用,tts.vbs最后只包含了sapi.Speak message。
批处理脚本:
@echo off
:start
cls
echo Batch Text-To-Speech
echo By SudDaBuilder
:: echo Fixed by %YourNameHere% ::
set /p msg=What do you want your PC to say?
set /p vc
我有一个批处理文件,它设置了4个不同的参数,并试图为每个参数调用一个.vbs脚本。第一个调用工作正常,但是第二个调用(以及其后的其他调用)抛出一个异常: VBScript运行时错误:下标超出范围。
我尝试过重命名脚本并复制它,因此它是一个新脚本,但是即使这样,第二个调用也失败了。
for /F %%a in ('dir ***** /B /S') do set fileName=%%~fa
for /F %%a in ('dir ****** /B /S') do set fileName2=%%~fa
goto : new
:new
set ho
因此,我需要编写一个脚本来为RDS上的大约20个用户映射60台打印机。问题是脚本只将打印机映射到第14行,但它一直运行到最后一行。我知道它运行到最后一行,因为最后一行是:a=msgbox(“所有打印机都已映射。默认打印机已设置。单击OK关闭。Nick编写脚本,欢迎捐赠。”)
抛开所有的幽默不谈,我试图找到一种方法,将我的脚本分解成多个脚本,一个脚本调用其余的脚本。如果有人有更好的主意,我会洗耳恭听的!但下面是我使用的代码示例:
Dim Net Set objNetwork = Wscript.CreateObject("Wscript.Network") objNetwork.
我们有一个遗留系统,允许客户通过vbscript自定义工作流,例如,用户可以编写以下代码
for each account in accounts {
Dim acc as Integer
.....
}
{...}中的代码是VBScript。遗留系统采用VB编写,并使用ScriptControl直接执行脚本。现在我们要将系统升级到C# .NET 4.5,我们想要摆脱旧的脚本控件,但又想保留用户的脚本。
我的问题是可以从C#中执行vb脚本吗?
谢谢
我已将我的一些代码合并如下:
Option Explicit
Dim oShell : Set oShell = WScript.CreateObject ("WScript.Shell")
Dim FSO : set FSO = CreateObject("Scripting.FileSystemObject")
Dim StartTime,Elapsed
'msgBox(oShell.CurrentDirectory)
'MsgBox(FSO.GetFile(Wscript.Script
我已经编写了一个.vbs脚本,该脚本目前由用户手动运行。在Windows和Windows 7上,如何使这个脚本在任务调度程序(每天自动在一个固定时间自动运行)中调度自己,当它第一次手动执行时?
编辑
Option Explicit
Dim oShell : Set oShell = WScript.CreateObject ("WScript.Shell")
Dim FSO : set FSO = CreateObject("Scripting.FileSystemObject")
Dim StartTime,Elapsed
VB脚本接受一个参数作为输入。可以输入两个参数吗?我还可以在下面的脚本中使用下拉列表吗?
@echo off
> usermessage.vbs ECHO WScript.Echo InputBox( "Enter parameter1", "para1", "xxxxxxxx" )
FOR /F "tokens=*" %%A IN ('CSCRIPT.EXE //NoLogo usermessage.vbs') DO SET para1=%%A
ECHO para1= %para1%
DEL user
我正在请求管理与批处理脚本中的以下内容:
: BatchGotAdmin
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting admi
我有一个批处理脚本,从我的ftp下载文件。
它有一个从服务器中提取正确文件的部分,获取今天的日期:
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%
我想要.vbs脚本,打开多个大文件.vbs,我想一个接一个地打开.vbs,不让我,滞后在PC上。
0001.vbs,0002.vbs,0003.vbs,0004.vbs可以是不同的名称,如: Anna.vbs、Diana.vbs、Antony.vbs、Andy.vbs
示例:
run C:\0001.vbs
MsgBox "0001.vbs IS END"
Next Open run C:\0002.vbs
MsgBox YES NO
MsgBox "0002.vbs IS END"
Next Open run C:\0003.vbs
MsgBox Y
我试图运行一个脚本,提示用户输入一个位置,一旦选择了该位置,该脚本将将IE收藏夹复制到该位置。(它是将多个目录复制到您选择的位置的更大项目的一部分)。
它从一个VBS脚本开始创建提示符,然后根据所选内容创建一个变量。然后,脚本将IE收藏夹复制到选定的位置。问题是,如果我选择“取消”脚本运行无论如何!
任何帮助都是非常感谢的!
代码:(批处理脚本)
@echo off
For /F "Tokens=1 Delims=" %%I In ('cscript //nologo BrowseFolder.vbs') Do Set _FolderName=%%I
set
我有一个小脚本来编辑.conf文件中的文本。
SETLOCAL=ENABLEDELAYEDEXPANSION
rename c:\users\administrator\desktop\httpd.conf text.tmp
for /f %%a in (text.tmp) do (
set foo=%%a
if !foo!=="### Section 3: Virtual Hosts" set foo="SSL Compression off"
echo !foo! >> c:\us