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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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 将参数(带空格)传递给批处理文件_Batch File_Command Line_Cmd - Fatal编程技术网

Batch file 将参数(带空格)传递给批处理文件

Batch file 将参数(带空格)传递给批处理文件,batch-file,command-line,cmd,Batch File,Command Line,Cmd,无法在单个参数中接收完整参数 代码 string startupPath = System.IO.Directory.GetCurrentDirectory(); string bat = startupPath + @"\util.bat"; var psi = new ProcessStartInfo(); psi.FileName = @bat; psi.Verb = "runas"; psi.Arguments = "C:/Program Files (x86)/Wind

无法在单个参数中接收完整参数

代码

 string startupPath = System.IO.Directory.GetCurrentDirectory();
 string bat = startupPath + @"\util.bat";
 var psi = new ProcessStartInfo();
 psi.FileName = @bat;  
 psi.Verb = "runas";
 psi.Arguments = "C:/Program Files (x86)/Windows Kits/8.1/bin/x64" +"param2";
 psi.UseShellExecute = true;  
 Process.Start(psi);
批处理文件:

@ECHO OFF
ECHO.

echo %~1 //this prints "C:/Program Files"

echo %1% //this prints "C:/Program Files"

echo %*  //this prints C:/Program Files (x86)/Windows Kits/8.1/bin/x64 param2


cd %1%
echo "done"

ECHO.
PAUSE
CLS
EXIT
我想在两个不同的变量(如%1%和%2%)中接收两个参数。
我可以用逗号分隔它们,同时在批处理文件中发送和获取它们。但是,我想让这一切成功

请尝试
psi.Arguments=“\”C:/ProgramFiles(x86)/Windows Kits/8.1/bin/x64\“param2”…不是解决方案,但是:
%1%
是错误的,它是
%1
@可能是错的!但是试试看。它打印相同的。它只在忽略第二个百分号的情况下工作。在for循环中不起作用,例如:
for%%a in(%1%)do echo%%a
psi.Arguments=“\”C:\\Program Files(x86)\\Windows Kits\\8.1\\bin\\x64\“\”param2\”
Try
psi.Arguments=“\”C:/Program Files(x86)/Windows Kits/8.1/bin/x64\”param2”…不是解决方案,但是:
%1%
是错误的,它是
%1
@可能是错的!但是试试看。它打印相同的。它只在忽略第二个百分号的情况下工作。在for循环中不起作用,例如:
for%%a in(%1%)do echo%%a
psi.Arguments=“\”C:\\Program Files(x86)\\Windows Kits\\8.1\\bin\\x64\“\”param2\”