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 批处理文件和URL编码中的转义符号_Batch File_Cmd_Tableau Api - Fatal编程技术网

Batch file 批处理文件和URL编码中的转义符号

Batch file 批处理文件和URL编码中的转义符号,batch-file,cmd,tableau-api,Batch File,Cmd,Tableau Api,URL解析%26 to&on tabcmd调用并将其设置为错误的URL 我的批处理文件如下: @echo off setlocal enabledelayedexpansion set str=%1 set str=!str:^&=%%26! set var1=!str! set var1=!var1: =%%20! set var2=!var1! set var2=!var2:,=! tabcmd get "views/tableau_workbook/first_page.png

URL解析%26 to&on tabcmd调用并将其设置为错误的URL

我的批处理文件如下:

@echo off
setlocal enabledelayedexpansion
set str=%1
set str=!str:^&=%%26!
set var1=!str!
set var1=!var1: =%%20!

set var2=!var1!
set var2=!var2:,=!

tabcmd get "views/tableau_workbook/first_page.png?status=O&category=ALL&cust=!var1!&:size=1715,893" -f "D:\myfolder\!var2!\!var2!_1.png" --no-certche


pause
例如: 我正在将参数“A&B”传递给批处理文件。 var1变量在调用URL之前具有以下值: A%20%26%20B,这是预期的

一旦调用URL,URL将解析为A%20&%20B,但我正在尝试获取A%20%26%20B

我甚至尝试将
&
替换为
%25%26
,以使其在执行时出现在URL上,但毫无帮助


有人能帮忙解决这个问题吗。谢谢

好吧,如果你找不到任何其他解决方案,你可以通过JScript混合体借用JavaScript的
encodeURIComponent
string方法。使用.bat扩展名保存此文件,并尝试一下

@如果(@code节==@Batch)@那么
@回音
延迟扩展
对于/f“delims=“%%I in('cscript/nologo/e:Jscript“%~f0”“%~1“),请设置“%%I”
设置var2=!var1:%%2C=!
tabcmd get“views/tableau\u workbook/first\u page.png?status=O&category=ALL&cust=!var1!&:size=1715893”-f“D:\myfolder\!var2!\!var2!\u 1.png”--无证书
暂停
后藤:EOF
@结束//结束批处理/开始JScript混合嵌合体
Echo('var1='+encodeURIComponent(WSH.Arguments(0));

尝试引用所有作业:
设置“str=something”
(注意开头的引号位置)。如果批次结束,很难重现,请简化示例:)?类似:用法:<代码>假命令“A和B”<代码>代码>代码> ECH% 1 >如果我的答案有帮助,请考虑将其标记为接受。如果没有,那么您能否提供一些不符合您批准的反馈?