C# 将带撇号的参数传递给批处理文件
如何将以下参数传递到批处理文件C# 将带撇号的参数传递给批处理文件,c#,batch-file,C#,Batch File,如何将以下参数传递到批处理文件 custom.bat mode="test" logs="true" 我试图把“翻一番,但没有任何效果 custom.bat "mode="test"" "logs="true"" 并且,在custom.bat中删除不需要的引号 @echo off set "arg1=%~1" set "arg2=%~2" echo [%arg1%] [%arg2%] 您可以使用CALL命令启动新的批处理文件。在执行“被调用文件”的最后一行后,控件
custom.bat mode="test" logs="true"
我试图把“
翻一番,但没有任何效果
custom.bat "mode="test"" "logs="true""
并且,在custom.bat
中删除不需要的引号
@echo off
set "arg1=%~1"
set "arg2=%~2"
echo [%arg1%] [%arg2%]
您可以使用CALL命令启动新的批处理文件。在执行“被调用文件”的最后一行后,控件将返回到“调用文件”。 您可以使用简单字符串或变量将参数设置为“called.bat fie”。
例如
调用MyScript.bat“1234”
或
设置_MyVar=“1234”
调用MyScript.bat%\u MyVar%
作为预防措施,您可以使用SETLOCAL和ENDLOCAL在不同文件之间保持相同名称的变量之间的分隔。我无法更改custom.bat应用程序…是否有其他方法..是否要编写自己的bat文件,名为costom.bat?@devhedgehog,如果您无法更改批处理文件,能否发布一个if如何处理argum的示例ents?您应该提到您不能更改
custom.bat
文件。并且您应该解释您希望custom.bat处理您的参数并显示获取参数的代码。谢谢,但是这里是关于如何使用撇号的解释吗?我假设您提到撇号时是指双引号(“)。如果直接发送参数,则使用双引号将其括起来。否则,如果使用变量,则使用双引号设置其值。但是,在这种情况下,不需要将变量名(作为参数传递时)括在引号内。它需要在%内封装,希望对您有所帮助。我请求您撤销“降级”;因为我试图帮助您解决您的问题。您可以在以下位置获取有关CALL命令的更多信息(您可以使用该命令将参数从一个文件传递到另一个文件)