我有变量:K+$>P9Z<>>n+Gb=
,我想把它传递给bat文件。
问题是即使我用“”关闭它,它只是以毫秒开启和关闭。
的AutoIt:
Case $msg = $MAIN
$NJN = GUICtrlRead($NJN_set)
$OJN = GUICtrlRead($OJN_set)
$PASS = GUICtrlRead($PASS_set)
Run("n:\xxx\xxx\xxx.bat" & " " & $NJN & " " & $OJN & " " & $PASS)
xxx.BAT:
call n:\xxxx\var\variables.bat %1 %2 %3
set yourZipPassword=%Password%
答案 0 :(得分:1)
您的批处理文件有什么作用?
要检查变量是否正确传递给批处理文件,您可以通过添加echo %[NAME_OF_YOUR_VARIABLE]%
在控制台中打印它的值,例如如果您输入:do_something.bat K+$>P9Z<>>n+Gb=
,您的批处理文件可能会像这样开始:
@echo off
set parameter1=%1
echo %parameter1%
这里的问题是,>>
是用于重定向流的保留字符串。我尝试了以下内容。呼叫
do_something.bat "K+$>P9Z<>>n+Gb="
而您的批处理文件以
set var=%1
set var=%var:"=%
第一行接受第一个参数并将其存储在变量var中。第二个语句用双引号替换双引号(=删除)变量中的双引号。您可以在本文中找到有关转义字符的更多信息:http://www.robvanderwoude.com/escapechars.php
答案 1 :(得分:0)
使用插入符^
。要逃避角色尝试使用插入符号。试试这个:
K+$^>P9Z^<^>^>n+Gb=
我们将逃避箭头。箭头试图指向要输出的文件。