gpt4 book ai didi

batch-file - 如何在批处理文件中设置等于 VB6 变量的参数

转载 作者:行者123 更新时间:2023-12-04 05:18:18 27 4
gpt4 key购买 nike

在我的批处理文件中,我正在调用一个 VBScript 并向它传递 3 个参数。参数为“IPADDRESS”、“PicName”和“Storage”,如下图:

批处理文件:

        set Pathname="C:\User\username\locationOfFile 
cd /d %Pathname%
cscript.exe C:\User\username\locationOfFile\myScript.vbs IPADDRESS PicName Storage

在我的 VB6 程序中,定义了参数值。

比如说 IPADDRESS = "170.190.xxx.xxx"

有没有办法可以读取批处理文件并根据 VB6 表单中的声明使用 IPADDRESS 的值?变量 IPADDRESS、PicName 和 Storage 将根据 VB6 程序与之对话的外部应用程序不断变化,因此我无法在批处理中静态设置它 ( ....\myScript.vbs 170.190.xxx.xxx pic1 C:\存储)

我的 VBScript 如下:
   Option explicit

if WScript.Arguments.Count <> 3 then
WScript.Echo "Missing parameters"
else

Dim imageMagick
Set imageMagick = CreateObject("ImageMagickObject.MagickImage.1")

Dim cam_add
Dim annotate
Dim filename
Dim cmd
Dim WshShell
Dim return

cam_add = """http://" & WScript.Arguments(0) &"/image"""
annotate = """" & WScript.Arguments(1) & " - """ '& Date
filename = """" & WScript.Arguments(2) & WScript.Arguments(1) & ".jpg"""
cmd = "convert " & cam_add & " -fill gold -pointsize 45 -gravity southwest -annotate 0x0+25+25 " & annotate & " -trim +repage -verbose " & filename

WScript.Echo cmd

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.CurrentDirectory = "C:\Program Files\ImageMagick-6.8.0-Q16\"

return = WshShell.Run(cmd)


end if

总之,我需要将批处理设置为:

cscript.exe C:\User\username\locationOfFile\myScript.vbs IPADDRESS PicName 存储

所以参数值可以根据它们在我的 VB6 表单中的设置来使用。

最佳答案

对于这么简单的事情,无论如何都不需要批处理文件。毕竟,您有一个完整的脚本可以使用。

你甚至可以从里面设置 CD,或者在 VB6 程序中设置它,如下所示:

Option Explicit

Private Sub Main()
Dim CD As String
Dim IPADDRESS As String
Dim PicName As String
Dim Storage As String
Dim OrigCD As String

CD = "D:\Photo Archives"
IPADDRESS = "127.0.0.1"
PicName = "Fudd"
Storage = "C:\Storage"

'Cache CD so we can restore it.
'Change CD and drive so it is inherited.
OrigCD = CurDir$()
ChDir CD
ChDrive CD

Shell "cscript """ _
& App.Path & "\test.vbs "" """ _
& IPADDRESS & """ """ _
& PicName & """ """ _
& Storage & """", _
vbNormalFocus

'Restore CD and drive.
ChDir OrigCD
ChDrive OrigCD

'Rest of program.
End Sub

脚本示例:
Option Explicit

Private CD

Private Sub Msg(ByVal Text)
With WScript
.StdOut.WriteLine Text
.StdOut.Write "Press ENTER to continue..."
.StdIn.ReadLine
End With
End Sub

If WScript.Arguments.Count <> 3 Then
Msg "Missing parameters"
WScript.Quit
End If

'Show the CD and the arguments.
With CreateObject("WScript.Shell")
CD = .CurrentDirectory
End With
With WScript.Arguments
Msg CD & vbNewLine _
& """" & .Item(0) _
& """ """ & .Item(1) _
& """ """ & .Item(2) & """"
End With

但它甚至看起来不需要脚本。您可以从 VB6 程序内部构建命令、设置 CD/驱动器和 Shell() 构建的命令字符串。

关于batch-file - 如何在批处理文件中设置等于 VB6 变量的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com