Windows

我如何將文件目錄(路徑)作為參數傳遞?

  • October 4, 2010

我如何將文件目錄(路徑)作為參數傳遞給

  1. windows作業系統中的批處理文件
  2. Unix作業系統中的bash文件

要將目錄傳遞給 Windows 批處理文件,請將其放在批處理文件的命令行中。使用路徑時,最好在它們周圍放置“”,因為它們可能包含空格等,例如

c:\temp\batchfile.bat "c:\program files"

在批處理文件使用中引用命令行參數%1 %2等等。

例如,如果您有一個像這樣的簡單批處理文件 (c:\temp\b.bat)

dir %1
exit /b 3

並且您如上所述呼叫它,您將獲得 c:\program 文件的目錄列表。

我現在猜測您想要做的是將 Windows 路徑傳遞給 unix 腳本,然後讓 unix 腳本在 Windows 上執行批處理文件並將提供的 Windows 路徑傳遞給 Windows 批處理文件。

與 Windows 類似,您可以在命令行上將參數傳遞給 bash 腳本。您需要將路徑括在“”中。bash 將嘗試解釋命令行參數中的任何特殊字元,因此您也需要將路徑參數包含在 ’’ 中,例如

bashscript '"c:\program files"'

要在 bash 中引用命令行參數,請使用$1 $2etc。

如果您的 bash 腳本是

#!/bin/bash
ssh -l admin host 'cmd /c c:/temp/b.bat ' $1

然後您將獲得 c:\program 文件的目錄列表,並且 3 將返回到 $?。

引用自:https://serverfault.com/questions/187214