如何通过VBScript验证文件是否conf存在于Program Files下(即C:\ Program Files\conf)?
例如,如果它存在,那么msgBox "File exists"
如果不存在,那么msgbox "File doesn't exist"
我正在寻找一种方法,用VBScript将一些文本放在剪贴板上.有问题的VBScript将作为我们的登录脚本的一部分进行部署.我想避免使用干净的Windows XP系统上没有的任何东西.
编辑: 回答有关这是什么的问题.
我们希望鼓励组织内的用户使用文件服务器来传输文档,而不是通过电子邮件不断发送附件.对此最大的障碍之一是人们并不总是明白文件/文件夹的正确网络路径是什么.我们开发了一个快速脚本,并将其附加到Windows上下文菜单,以便用户可以右键单击任何文件/文件夹,并获取可以通过电子邮件发送给组织内某人的URL.
我希望对话框中显示的URL也放在剪贴板上.
如何获取运行另一个vbscript的vbscript?
我想象它只有几行代码,但之前没有尝试过这样做,2之间没有任何传递,只需要调用/运行另一个.
例如,正在运行的脚本称为TestScript.vbs,调用/运行的另一个脚本称为Secondscript.vbs,它们都位于C:\ Temp中.
谢谢马克
我想让我的VBScript显示Windows另存为对话框,但我找不到如何做到这一点.
使用此代码:
Dim sfd
Set sfd = CreateObject("UserAccounts.CommonDialog")
sfd.ShowOpen
Run Code Online (Sandbox Code Playgroud)
我可以得到一个Open对话框,但是没有ShowSave这个对象的方法(因为在Visual Basic非脚本中似乎有类似的对象).
我搜索了StackOverflow并搜索了"[vbscript] save dialog"(以及"Windows Script Host"),但我只找到了关于从网页访问常用对话框的线程和BrowseForFolder对话框的解决方案,而没有关于调用Save对话框的内容.
实际上,我可以使用"打开"对话框来实现我的目的,因为我只需要一个文件名...但是由于我想将某些东西保存到选定的路径,对话框的标题栏中的"另存为"会更合适.
我查看了将VBScript转换为(*.vbs)可执行文件的信息,并意识到大多数可用的工具实际上是将脚本包装在可执行文件中.尝试了一些工具,并没有达到预期的效果.我尝试使用IExpress(在Windows XP中)创建Win32自解压cab文件,但它在Windows 7计算机上没有正确调用.
所以我正在寻找一种将vbs编译成exe的方法.我正在尝试将当前脚本移植到VB Express 2008中,但我在此处没有Visual Basic的先验知识.有很多错误,但我仍在尝试.
任何人都可以请教我应该如何从这里开始?我的意思是,自解压存档是一种可行的方式而不是独立的可执行文件吗?但是说像Winzip我不知道如何让它在提取后运行脚本.
有任何想法吗?
这是一个VBScript代码示例,演示了如何捕获命令行程序发送到标准输出的任何内容.它执行命令xcopy /?并在消息框中显示输出.在出现消息框之前,您会看到控制台窗口弹出一瞬间.
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("xcopy /?")
Do
line = objExec.StdOut.ReadLine()
s = s & line & vbcrlf
Loop While Not objExec.Stdout.atEndOfStream
WScript.Echo s
Run Code Online (Sandbox Code Playgroud)
这是另一个VBScript代码示例,演示如何在不显示控制台窗口的情况下执行脚本.
objShell.Run "c:\temp\mybatch.bat C:\WINDOWS\system32\cmd.exe", 0
Run Code Online (Sandbox Code Playgroud)
要么
objShell.Run "c:\temp\myscript.vbs C:\WINDOWS\system32\cscript.exe", 0
Run Code Online (Sandbox Code Playgroud)
你可以看到它有形式<script><space><executor>.最后一个示例使用objShell.Run而不是objShell.Exec
我不知道的是如何执行命令行程序(如果需要,从批处理文件),捕获标准输出,而不显示控制台窗口.有任何想法吗?
如果我使用设置变量CreateObject(),是否需要通过将其设置为Nothing使用后进行清理?
Dim foo
Set foo = CreateObject("SomeAssembly")
foo Bar
Set foo = Nothing
Run Code Online (Sandbox Code Playgroud)
脚本引擎会在超出范围时自动清除这些变量,因此在它们超出范围之前清除它们似乎毫无意义.
我有以下内容逐行读取文件:
wscript.echo "BEGIN"
filePath = WScript.Arguments(0)
filePath = "C:\Temp\vblist.txt"
Set ObjFso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = ObjFso.OpenTextFile(filePath)
StrData = ObjFile.ReadLine
wscript.echo "END OF FIRST PART"
Do Until StrData = EOF(ObjFile.ReadLine)
wscript.echo StrData
StrData = ObjFile.ReadLine
Loop
wscript.echo "END"
Run Code Online (Sandbox Code Playgroud)
该EOF()功能似乎不起作用:
C:\Users\EGr\Documents\Scripts\VB>cscript testloop.vbs ArgVal
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
BEGIN
END OF FIRST PART
C:\Users\EGr\Documents\Scripts\VB\testloop.vbs(11, 1) Microsoft VBScript runti
me error: Type mismatch: 'EOF'
Run Code Online (Sandbox Code Playgroud)
我以前没有在VB中编程,但是我想弄清楚循环,以便我可以修改我已经交过的VB脚本.我想逐行读取文件,并对每一行做一些事情.如果我将Do Until循环更改为Do Until StrData = EOF …
任何人都可以帮助我从自己运行vbs但具有管理员权限?我需要通过VBScript将计算机重命名为Windows 8,但只有通过管理员命令行(CMD→以管理员身份运行→runScript.vbs)运行我的脚本才有可能.如果我使用经典CMD启动脚本,则不会重命名计算机.
我的想法是我使用用户权限启动脚本,没有参数,如果没有参数,脚本将使用管理员权限和参数作为标识符"我是管理员"重新运行.
有谁知道我怎么做到这一点?
编辑:
我试过这个:
If WScript.Arguments.Count = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", "c:\Users\admin\Documents\selfConfigure.vbs -1", "", runas", 1
End If
Run Code Online (Sandbox Code Playgroud) 要查看无线网络安全密钥,我们可以在cmd中使用它:
netsh wlan show profile name ="WIRELESS NAME"key = clear
并添加配置文件,我们可以使用此:
netsh wlan add profile filename = D:\ file.xml
我需要一个命令来更改无线网络配置文件的密码
有什么脚本可以做到这一点吗?(vbsript - cmd - powershell)
vbscript ×10
batch-file ×1
clipboard ×1
cmd ×1
executable ×1
iexpress ×1
loops ×1
powershell ×1
readfile ×1
stdout ×1
windows ×1
windows-xp ×1
wireless ×1