Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批量弹出输入?VBS输入限制删除?_Batch File_Input_Vbscript_Popup - Fatal编程技术网

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实际上达到了命令行长度限制?