我不知道VBScript,但最近我需要编写一个具有SendKeys功能的脚本,而我无法在批处理文件中执行此操作.当我使用该命令在Windows 7机器中从命令提示符运行以下代码时cscript test.vbs,睡眠发生在telnet启动之前.问题可能是命令已执行但结果输出直到睡眠完成后才会显示.我该如何解决这个问题?
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "telnet localhost 25" & vbCr
wscript.sleep 5000
Run Code Online (Sandbox Code Playgroud)
编辑:如果我在启动之前放入一个sleep命令然后单击它必须键入的命令提示符窗口,我可以让我的脚本工作.这样,当脚本暂停时,它会暂停执行,但不会暂停显示命令提示符中的输出.我仍然需要一个命令行解决方案.
我是否可以使用一个函数来转换具有良好文件名的狡猾文件名?
我正在处理大量照片,偶尔我的脚本会停止,因为上传者在文件名中添加了卷曲符号(〜)。我现在也想知道文件名中是否还有其他错误符号,以及如何对其进行转义。
我正在使用VBScript的FileSystem对象遍历这些文件,类似于以下内容:
For Each File In Files
If InStr(UCase(File.Name), ".JPG") > 0 Then
'// do stuff
End If
Next
Run Code Online (Sandbox Code Playgroud) 我有一个国际照片网站.当办公室上传来自国外的照片时,字幕和标题有时会有外国字符,例如:
1. François Hollande
2. ValŽrie Trierweiler
Run Code Online (Sandbox Code Playgroud)
并且这些存储在数据库(MySQL - latin1_swedish_ci)中,原样.现在,当用简单的英语搜索没有法语字符的弗朗索瓦时,这些特定的照片不会显示出来.
现在这不仅仅是法国人的问题 - 它也是其他国家.在我提交到我的数据库之前,如何将这些外来字符转换为普通字符,例如:
我写了这段代码来访问文件夹中的Excel文件:
strPath="C:\Test\"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder (strPath)
Set objExcel= CreateObject("Excel.Application")
objExcel.Visible= False
For Each objFile In objFolder.Files
If objFso.GetExtensionName(objFile.Path) = "xls" Then
Run Code Online (Sandbox Code Playgroud)
现在我必须创建一些子文件夹并在其中放入一些.xls文件.
我应该在我的代码中进行哪些修改来搜索主文件夹和所有其他子文件夹中的文件(子文件夹中还有一些文件夹)?
有人可以看看下面的脚本并告诉我为什么它在vbscript中抛出这个错误下标超出范围错误.在文本文件中有两个条目它正确地写入文件但是它在退出循环时抛出错误所以它从不调用其他函数..我认为它试图运行3次,但文本文件中只有2个条目
The text file is in this format
Format.css Shared
Design.css Shared
Dim strInputPath1
Dim txsInput1,txsOutput
Dim FSO
Dim Filename
Set FSO = CreateObject("Scripting.FileSystemObject")
strOutputPath = "C:\txt3.txt"
Set txsOutput = FSO.CreateTextFile(strOutputPath)
Set re = New RegExp
re.Pattern = "\s+"
re.Global = True
Set f = FSO.OpenTextFile("C:\Users\spadmin\Desktop\Main\combination.txt")
Do Until f.AtEndOfStream
tokens = Split(Trim(re.Replace(f.ReadLine, " ")))
extension = Split(tokens(0),".")
strInputPath1 = "C:\inetpub\wwwroot\Test\files\" & tokens(1) & "\" & extension(1) & "\" & tokens(0)
Set txsInput1 = FSO.OpenTextFile(strInputPath1, 1)
WScript.Echo strInputPath1
txsOutput.Writeline txsInput1.ReadAll
Loop …Run Code Online (Sandbox Code Playgroud) 我有一个简单的脚本,它需要两个字符串并进行比较.第一个在末尾有一个空格而第二个没有.
Function compare(str1,str2)
dim a
If strComp(trim(str1),trim(str2))=0 Then
msgbox "OK"
a=1
Else
msgbox "KO"
a=0
End If
compare=a
End Function
Run Code Online (Sandbox Code Playgroud)
我用这种方式使用这个函数:
s1= SUCCESSFULLY CONNECTED
s2= SUCCESSFULLY CONNECTED
result=compare(s1,s2)
Run Code Online (Sandbox Code Playgroud)
s1和s2之间的区别在于s1以单个空格结束,而s2在末尾没有任何空格.这就是我使用Trim函数忽略该空间的原因.尽管如此,对于s1和s2,我总是在对话框中得到消息"KO".我甚至改变了条件
If trim(str1)=trim(str2) Then
Run Code Online (Sandbox Code Playgroud)
但弹出窗口仍然返回"KO".这是一个美好的情况!
拜托,我已经厌倦了,希望你能帮助理解这种情况.先感谢您
我是VB脚本的新手,我试图找到一种方法:
根据我的研究,似乎一个好的方法是使用FSO并读取整个文本文件,创建一个数组,然后循环检查文件是否存在于目录中,然后记录到"missing.txt",如果它没有.
但是,这样做,不会出现类型不匹配,因为.txt中的文件名是一个字符串,目录中的文件本身就是对象吗?
我该如何比较?我可以从概念上理解这一点,但我不知道从哪里开始使用语法.
谢谢您的帮助.
例如从.\\10.10.10.10\Share\*到\\10.10.10.20\Share\*.
有人可以帮我一个例子或指出我正确的方向吗?
尽可能简单是好的.
好的,所以我被赋予了一个猜谜游戏的任务.我已经完成并做好了准备,唯一的问题是当我尝试运行它时说:

Dim MAX, MIN
MAX = 99
MIN = 0
Randomize
Number = (Int((MAX-MIN+1)*Rnd+MIN))
Do Until Answer = Number
Answer = InputBox("Guess A Number Between:" & vbNewLine & "0 And 100", "Guessing Game:")
If Answer = "" Then
Quit = MsgBox("Do You Wish To Quit?",vbYesNo,"Quit:")
If Quit = vbYes Then
WScript.Quit 0
End If
Else If Answer = Number Then
MsgBox("Congrats You Got It!")
Else
MsgBox("Nope, Try Again...")
End If
Loop
Run Code Online (Sandbox Code Playgroud) 我一直在玩下面的脚本,以便能够读取我的HTA使用的设置(创建一个游戏启动器).
这是我目前的HTA:
它不太有效,它抱怨WScript所需的对象.虽然我理解Echo在HTA中不会像那样工作但我修改代码时遇到了麻烦,所以它会起作用.即使只删除所有Echo引用,它仍然存在objOrgIni以下代码的第200行的问题(WScript删除了引用):
我甚至不需要那种级别的错误检查,因为INI将存在等等,我只需要一种简单的方法来读取和写入我的脚本中的INI.你们可以帮助我实现这一目标的任何帮助都会很棒,但对我来说这对我来说有点先进,但是我想要解释为什么会失败.