我如何将文件目录(路径)作为参数传递给
- Windows操作系统中的批处理文件
- unix操作系统中的.bash文件
答案1
要将目录传递给 Windows 批处理文件,请将其放在批处理文件的命令行上。使用路径时,最好在路径周围加上“”,因为它们可能包含空格等,例如
c:\temp\batchfile.bat "c:\program files"
在批处理文件中引用命令行参数的使用%1
%2
等等。
例如如果你有一个简单的批处理文件(c:\temp\b.bat)像这样
dir %1
exit /b 3
并且按照上面的方式调用它,你会得到 c:\program files 的目录列表。
我现在猜测您想要做的是将 Windows 路径传递给 Unix 脚本,然后让 Unix 脚本在 Windows 上运行批处理文件,并将提供的 Windows 路径传递给 Windows 批处理文件。
与 Windows 类似,您可以在命令行上将参数传递给 bash 脚本。您需要将路径括在“”中。bash 将尝试解释命令行参数中的任何特殊字符,因此您也需要将路径参数括在“”中,例如
bashscript '"c:\program files"'
要引用 bash 中的命令行参数,请使用$1
$2
等等。
如果你的 bash 脚本是
#!/bin/bash
ssh -l admin host 'cmd /c c:/temp/b.bat ' $1
那么你将获得 c:\program files 的目录列表,并且 3 将返回到 $?。