Batch file 将空输入传递到vbscript

Batch file 将空输入传递到vbscript,batch-file,vbscript,Batch File,Vbscript,我有一个简单的bat脚本,它要求输入IP、用户名和密码,然后将输入发送到vbscript。但是,如果用户输入的密码为空(在这种情况下很常见),则不会使vbscript中的密码为空。我尝试过使用IF命令,但它们似乎不起作用 这是蝙蝠: set /p newIP=Hostname/IP: set /p newUser=Username: set /p newPass=Password: fart.exe -q script.vbs "$IP$" %newIP% fart.exe -q script.

我有一个简单的bat脚本,它要求输入IP、用户名和密码,然后将输入发送到vbscript。但是,如果用户输入的密码为空(在这种情况下很常见),则不会使vbscript中的密码为空。我尝试过使用IF命令,但它们似乎不起作用

这是蝙蝠:

set /p newIP=Hostname/IP:
set /p newUser=Username:
set /p newPass=Password:
fart.exe -q script.vbs "$IP$" %newIP%
fart.exe -q script.vbs "$USER$" %newUser%
fart.exe -q script.vbs "$PASS$" %newPass%

start script.vbs

有什么想法吗

直接传下去可能有点难。 我会使用这样的临时文件:

    @echo off
    set /p newIP=Hostname/IP:
    %newIP%>temp.txt
    set /p newUser=Username:
    %newUser%>>temp.txt
    set /p newPass=Password:
    %newPass%>>temp.txt
    start script.vbs
    del temp.txt
如果需要,您可以为每个字符串创建一个临时文件(这使得在程序中导入更容易)。这也非常简单

现在需要重新配置vbs文件,以便它读取这些临时文件。这是最简单的解决办法。临时文件不需要扩展名

您还可以将临时文件保存到默认的windows临时目录,您可以使用%temp%调用该目录,这样,如果您在多个目录中工作,vbs脚本可能更容易访问

%temp%\filename.txt

祝你好运

如果密码为空,将向vbs传递什么?我认为您应该在vbs中有一些代码来检查传递的密码是否为空,然后在批处理端,使用if命令向批处理发送特殊标志。e、 例如:如果“%newPass%”“==”,然后向vbs传递一个标志,例如:emptyPass字符串。好的,我想我明白了,像这样?如果“%newPass%”“==”,则“fart.exe-r-i--remove script.vbs”$PASS$“我不知道fort.exe是如何工作的,但一般来说,您应该像上面那样执行签入批处理,然后以不同的方式调用vbs。不能直接传递空批处理变量。fart.exe是一个简单的查找和替换文本实用程序。因此在script.vbs中有一个短语”$PASS$”bat询问4密码,然后fart.exe用用户输入替换script.vbs中的“$PASS$”。我将尝试上面的方法,看看是否有效