Batch file 批量弹出输入?VBS输入限制删除?
我正在命令提示符下制作一个程序,要求您输入,但在弹出窗口中,而不是在命令提示符下,然后通过显示另一个没有输入的弹出窗口来确认您键入的内容。 这是我到目前为止的代码Batch file 批量弹出输入?VBS输入限制删除?,batch-file,input,vbscript,popup,Batch File,Input,Vbscript,Popup,我正在命令提示符下制作一个程序,要求您输入,但在弹出窗口中,而不是在命令提示符下,然后通过显示另一个没有输入的弹出窗口来确认您键入的内容。 这是我到目前为止的代码 echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%temp%\input.vbs" & for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs
echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%temp%\input.vbs" & for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs" "Input Here:" "Input Collect Program"') do set input=%%a
这将生成一个VBScript文件并运行它,并将输入保存在变量%input%中。这本来是完美的,但由于对输入框有限制,所以这不起作用,因此我需要删除该限制,或者需要另一种方法在命令提示符批处理中执行此操作。我不知道.net是否对输入长度有相同的限制-我认为应该是字符串限制-2147483647,-字符:
@if (@X)==(@Y) @end /****** silent line that start jscript comment ******
:batch
@echo off
setlocal
:: find jsc.exe
set "jsc="
for /r "%SystemRoot%\Microsoft.NET\Framework\" %%# in ("*jsc.exe") do set "jsc=%%#"
if not exist "%jsc%" (
echo no .net framework installed
exit /b 10
)
if not exist "%~n0.exe" (
call %jsc% /nologo /r:"Microsoft.VisualBasic.dll" /out:"%~n0.exe" "%~dpsfnx0" || (
exit /b %errorlevel%
)
)
for /f "delims=" %%# in ('%~n0.exe %*') do echo -%%#-
endlocal & exit /b %errorlevel%
*/
import Microsoft.VisualBasic;
import System;
var input=Interaction.InputBox("Question?","Title","Default Text")
Console.WriteLine(input);
我能想到的唯一一件事是在批处理文件中使用copy con tmp.txt,这样您就可以右键单击控制台窗口,单击粘贴,按Ctrl-Z,从而将输入最大为tmp.txt32768个字符,只是尝试了一下。我认为,交互输入通常至少应该受到限制,以防止利用漏洞。也许OP实际上达到了命令行长度限制?