我有些麻烦的URL编码为UTF-8编码的文本字符串以通过HTTP传递。我在经典ASP(vbscript)中使用Server.URlEncode对“é”字符进行编码。
它产生以下字符串,
%C3%83%C2%A9
我通过HTTP与之交谈的系统是PHP,但是无法解码此字符串。使用http://www.albionresearch.com/misc/urlencode.php上的PHP编码器,出现了使用PHP URL编码方法编码的相同字符,
%E9
有谁知道我如何在ASP中成功编码UTF-8编码的字符串,以便PHP系统可以成功对其进行解码?
我正在编写一个脚本来打开RDP会话,但我想检查一下RDP会话是否已经在运行.我最初的想法是检查在内存中运行的MSTSC.EXE.知道怎么做吗?
也可以开放替代解决方案.试图阻止客户端两次登录RDS服务器.允许多次登录,因为同一用户可以从不同的客户端登录.
如何将退出状态从HTA(vbscript)返回到调用批处理文件?
我的批处理文件代码
@echo OFF
echo Configuring Test...
call AppConfigurationEditor.hta
call TestConfigurationEditor.hta
Run Code Online (Sandbox Code Playgroud)
1.如果用户点击第一个HTA上的CANCEL按钮,我不想运行第二个HTA.
2.Batch脚本调用/立即显示第二个HTA,而不是等到第一个HTA关闭.
有没有办法在VBS中打开声音而没有对话?
这是我的代码......
intAnswer = _
Msgbox("Do you want to play welcome.mp3?", _
vbYesNo, "Play Song?")
If intAnswer = vbYes Then
Msgbox "Opening..."
`play %userprofile%/directory/welcome.mp3 with no dialogue`
Else
Msgbox "Not opening..."
End If
Run Code Online (Sandbox Code Playgroud) 有没有办法引用在VBScript中运行的当前文件?我可以使用文件的名称,但它需要可操作,尽管目录更改和重命名.这样做的目的是在文件I/O操作中使用该文件.如果不可能,是否有任何可能的替代方案,例如使文件不可重命名或不可移动?
在Web内容方面,新版本的UFT 12.01支持Chrome 36.
那么Chrome的扩展呢?
我在某处读到他们无法实现自动化.
另一方面,当我使用开发者工具(12)时,我可以识别按钮,文本框等.
是否可以使用UFT测试Chrome扩展程序?
PS:我特意尝试自动化一个名为POSTMAN的扩展 - Rest Client(https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en)
我有一个网页,我将文件夹中的文件名称提取到数组中VBScript,然后我将该数组传递给JavaScript变量,以便我可以在屏幕上显示名称.
VBScript代码:
Function allFiles()
Dim arr, arr2, oTargetFolder
arr = array()
set oFSO = CreateObject("Scripting.FileSystemObject")
oTargetFolder = "C:\Users\msiddiq1\Documents\WSDLs"
set objFolder = oFSO.GetFolder(oTargetFolder)
set oFiles = objFolder.Files
For Each files in oFiles
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = files.Name
Next
allFiles = arr
End Function
Run Code Online (Sandbox Code Playgroud)
JS:
var folderFiles = allFiles();
alert(folderFiles.length); // alerts `undefined`
Run Code Online (Sandbox Code Playgroud)
我可以将硬编码值从vbscript传递给javascript,但不能传递给这个数组.
请建议.
我一直试图让这个脚本全天工作!
以下是关于我的情况的一些事实......
目前这是我的剧本......
Option Explicit
Dim oFSO, oShell, sCommand
Dim sFilePath, sTempFilePath
Set oFSO = CreateObject("Scripting.FileSystemObject")
sFilePath = "C:\test\in_video.mkv"
sTempFilePath = "C:\test\out_video.mp4"
sCommand = "%comspec% /k ffmpeg -n -i """ + sFilePath + """ -c:v copy -c:a copy """ + sTempFilePath + """"
WScript.Echo sCommand
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run sCommand, 1, True
Set oShell = Nothing
Set oFSO = Nothing
Run Code Online (Sandbox Code Playgroud)
如果我在命令提示符下手动运行此脚本,那么它似乎工作正常.但是,如果我让另一个应用程序运行它(例如在这种情况下为uTorrent),它会按预期运行脚本,但是当它尝试处理oShell.Run命令时,它会在32位环境中运行它!然后我明白了......

如果我尝试打开一个新的命令提示符(没什么特别的)我似乎默认为64位环境,然后我可以输入"ffmpeg",它会按预期显示帮助内容.
因此,由于某种原因,我无法让脚本在64位环境中运行应用程序(特别是CMD).谁知道我怎么能做到这一点?
似乎我的脚本实际上是在32位模式下运行!即使脚本标题栏显示"C:\ Windows\System32\cscript.exe",这是一个64位环境!!
我使用以下脚本来确定它是在32位环境中运行的...
Dim WshShell
Dim WshProcEnv
Dim system_architecture …Run Code Online (Sandbox Code Playgroud) CDONTS.NewMail类让我发送这样的电子邮件:
Set MailObj = Server.CreateObject("CDONTS.NewMail")
MailObj.To = someone@example.com
' set other properties of MailObj
MailObj.Send
Run Code Online (Sandbox Code Playgroud)
我可以在ASP中创建自己的类,但它不会让我定义名为"To"的属性.
有没有办法在我定义的类中创建一个名为"To"的属性的类?
class MyMail
Public To ' this doesn't work!
Public From ' this works great!
end class
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个可以与VBScript一起使用的替代有效正则表达式.
仅供参考,我将在HP UFT中使用它,所以我别无选择,只能使用VBScript(如果没有其他最简单的方法,我可能需要查看其他选项,例如从VBS执行Java(或其他语言)代码) .
我想要实现的目标:
从给定的一堆文本中,我想提取某些字母数字字符串.此字符串可能包括-,_,.,/,//,等.
我所知道的只是,这个字符串后面跟着一个特定的单词(例如DIA),这个字符串后面会有一个空格.
这里我可以使用VBS代码片段作为替代方案:
此示例代码仅检索第一个匹配项.如果我找不到其他选择,我可以修改它.
serviceType = "DIA"
tempTxt = obj.GetROProperty("innertext")
If InStr(1, tempTxt, serviceType, 0) > 0 Then
iStartPoint = InStr(1, tempTxt, serviceType, 0) + Len(serviceType)
End If
tempTxt = LTrim(Mid(tempTxt, iStartPoint))
iStartPoint = InStr(1, tempTxt, " ", 1)
MsgBox Left(tempTxt, iStartPoint)
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的正则表达式:
(?<=DIA\s).*?(?=\s)
Run Code Online (Sandbox Code Playgroud)
这是我尝试过并成功运作的演示.我只需要找到VBScript替代品.
更新
这是我在尝试建议的正则表达式后得到的结果:(
返回值看起来不同,因为我使用不同的输入文本.)
这是我正在使用的代码:
Call RegExpMultiSearch(tempTxt, "DIA\s+(\S+)")
Public RegMatchArray
Function RegExpMultiSearch(targetString, ptrn)
'CREATE THE …Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×2
hp-uft ×2
qtp ×2
arrays ×1
batch-file ×1
ffmpeg ×1
hta ×1
javascript ×1
php ×1
rds ×1
regex ×1