是否可以在Windows Scripting Host(WSH)VBS脚本中读取系统环境变量?
(我正在使用Windows Scripting Host编写VBScript以获取Cruise Control的任务,并希望获取项目构建URL.)
任何人都可以给我一些关于如何在脚本中设置MSMQ队列权限的指针,最好是PowerShell,但我会使用VBscript
任何人都可以告诉我如何使用vbscripting将文件从一个文件夹复制到另一个文件夹我从下面尝试过这一点来自互联网提供的信息.
dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\sourcefolder\anyfile.txt") Then
filesys.CopyFile "c:\sourcefolder\anyfile.txt", "c:\destfolder\"
Run Code Online (Sandbox Code Playgroud)
当我执行这个时,我得到了许可被拒绝.
当我为自己阅读和体验时,VBScript会删除所有双引号和参数.有没有人知道这方面的方法?如何将双引号传递给脚本?
什么是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
Run Code Online (Sandbox Code Playgroud)
我很欣赏这可能很容易修改以处理参数,但意识到这可能不是解决问题的最佳方法.
背景:我正在编写一个脚本,可以通过双击或(很可能)从DOS批处理文件或作为计划任务运行.它可以包含一个或多个可选的命令行参数.
如何使用VBS获取当前日期和时间(对于Windows.我不是在寻找ASP/ASPX或网页的VBScript).
我有一个ASP应用程序.在单击特定链接时,将执行一些VB脚本并显示ASP页面,但我得到一个屏幕,其中显示:
信息不可用.
请求的网址被拒绝.请咨询管理员.
您的支持是XXXXXXXXXXXXXXXXXXXXXX"
IIS和事件查看器日志不显示任何错误消息.
这仅适用于某些用户,但适用于其他用户.
导致此错误的可能原因是什么?
我总是使用以下脚本上传经典asp文件,但它停止工作给我这个错误
vbscript运行时错误800a01a8
对象需要'Item(...)'
我调查了一下,我认为问题是在文件upload.asp中使用BuildUploadRequest函数,但我真的不明白为什么
<form method="POST" action="landing-page.asp" ENCTYPE="multipart/form-data">
<input type="file" name="file">
<input type="hidden" name="key" value="0">
<input type="submit" name="send" value="1">
</form>
Run Code Online (Sandbox Code Playgroud)
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest(RequestBin) '//function defined in upload.asp
if UploadRequest.Item("key").Item("Value")="0" then '//this is the line giving the error
'//code here...
end if
Run Code Online (Sandbox Code Playgroud)
Sub BuildUploadRequest(RequestBin)
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
'//Get all data inside the boundaries
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
'//Members …Run Code Online (Sandbox Code Playgroud) 我编写了一个脚本,该脚本连接到Oracle数据库以选择特定表中的多个条目.
声明如下:
rs.open "SELECT PATH301 FROM NC301B WHERE EDIPROC like 'P30_' AND (LF301M > 0) AND (PATH301 NOT LIKE '%saptemp%') AND (PATH301 NOT LIKE '%SAPTEMP%') AND (PATH301 NOT LIKE '%usr%') AND (PATH301 NOT LIKE '%Windows%');", cn, 3
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否可以将此语句拆分为多行.例如这样:
rs.open "SELECT PATH301 FROM NC301B
WHERE EDIPROC like 'P30_'
AND (LF301M > 0)
AND (PATH301 NOT LIKE '%saptemp%')
AND (PATH301 NOT LIKE '%SAPTEMP%')
AND (PATH301 NOT LIKE '%usr%')
AND (PATH301 NOT LIKE '%Windows%');", cn, 3
Run Code Online (Sandbox Code Playgroud)
第一个SELECT声明是大而不好看的方式.我希望你明白我的意思.
我有通过POST接受二进制数据的代码并读入一个字节数组.对于大于200 Kb的文件,操作失败.我已经检查了我的sysadmin(我们正在运行IIS 7)以查看我们的配置是否有限制,并且他说没有,并且怀疑它是代码的问题.这里有人看到任何潜在的问题吗?这是我的代码:
Public Sub Initialize
If Request.TotalBytes > 0 Then
Dim binData
binData = Request.BinaryRead(Request.TotalBytes) ' This line fails'
getData binData
End If
End Sub
Private Sub getData(rawData)
Dim separator
separator = MidB(rawData, 1, InstrB(1, rawData, ChrB(13)) - 1)
Dim lenSeparator
lenSeparator = LenB(separator)
Dim currentPos
currentPos = 1
Dim inStrByte
inStrByte = 1
Dim value, mValue
Dim tempValue
tempValue = ""
While inStrByte > 0
inStrByte = InStrB(currentPos, rawData, separator)
mValue = inStrByte - currentPos
If mValue > …Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×3
wsh ×2
arguments ×1
file-upload ×1
msmq ×1
permissions ×1
powershell ×1