我怎么可以传递一个文件目录(path)作为参数?

我怎么可以传递一个文件目录(path)作为参数

  1. Windows操作系统中的batch file
  2. unix操作系统中的bash文件

要将一个目录传递给一个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将返回到$ ?.