gpt4 book ai didi

command-line - 可以用作参数的文本长度是否有限制?如果是的话限制是多少?

转载 作者:行者123 更新时间:2023-12-02 22:54:24 28 4
gpt4 key购买 nike

我有一个 VBScript,它接受 5 个参数作为来自命令行的参数。 5 个参数中的两个包含某些 .txt 文件的完整绝对路径,因此命令行参数长度可能会变得很长,在这种情况下我的自动化脚本可能会失败。

有人可以告诉我对于 VBScript 命令行中传递的文本长度是否有任何限制?实际上,我想知道,从 VB 脚本的角度来看是否有限制?

我运行脚本如下:

cscript.exe Sample.vbs "C:\Program Files\z.txt" param2 param3 D:\abcd.txt param5

最佳答案

我发现了这个:http://blogs.msdn.com/b/oldnewthing/archive/2003/12/10/56028.aspx

但最好的选择是亲自测试一下。尝试用一个非常长的字符串来调用它,然后在你的 vb 脚本中输出该字符串,或者输出该字符串的长度。我认为您不会遇到文件路径长度的问题。

a.vbs

Dim objShell
Set objShell = Wscript.CreateObject("WScript.Shell")

Dim arguments
For i = 1 To 6540
arguments = arguments & LPad(i,4,"0") & ","
Next

objShell.Run "b.vbs " & arguments

' Using Set is mandatory
Set objShell = Nothing


Function LPad(s, l, c)
Dim n : n = 0
If l > Len(s) Then n = l - Len(s)
LPad = String(n, c) & s
End Function

b.vbs

WriteString "C:\temp\vbscripttest\c.txt",WScript.Arguments.Item(0) 

Function WriteString( filename, contents )
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile( filename,2,true)
objFileToWrite.WriteLine(contents)
objFileToWrite.Close
Set objFileToWrite = Nothing
End Function

它的最大长度为 6540 * 5 个字符 = 32700。如果您愿意,您可以尝试更多。如果我输入 6541,我得到:

<小时/>

Windows 脚本宿主

脚本:C:\temp\vbscripttest\a.vbs线路:9字符:1错误:文件名或扩展名太长。代码:800700CE来源:(空)

<小时/>

确定

关于command-line - 可以用作参数的文本长度是否有限制?如果是的话限制是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30437330/

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