我怎么可以传递一个文件目录(path)作为参数
要将一个目录传递给一个windowsbatch file,你把它放在batch file的命令行中。 当使用path时,围绕它们放置“”是件好事,因为它们可能包含空格等
c:\temp\batchfile.bat "c:\program files"
在batch file中引用命令行参数,使用%1 %2等等。
例如,如果你有这样一个简单的batch file(c:\ temp \ b.bat)
dir %1 exit /b 3
而你如上所述调用它,你会得到一个目录列表的C:\程序文件。
我现在要猜测,你想要做的是将一个Windowspath传递给一个unix脚本,然后让unix脚本在Windows上运行一个batch file,并传递提供给Windowsbatch file的Windowspath。
与Windows类似,您将parameter passing给命令行上的bash脚本。 你需要把path放在“”中。 bash将试图解释你的命令行参数中的任何特殊字符,所以你需要把path参数放在“”中
bashscript '"c:\program files"'
要在bash中引用命令行参数,请使用$1 $2等。
如果你的bash脚本是
#!/bin/bash ssh -l admin host 'cmd /cc:/temp/b.bat ' $1
那么你会得到一个目录列表的C:\程序文件和3将返回到$ ?.