在windows上,我試圖使用%〜f1參數獲取文件名。從批處理腳本中讀取參數的問題
我正在從我添加到上下文菜單的新語音(命令)中執行此操作。
在Windows註冊表中,語音只是調用批處理腳本,通過這種方式打印文件名, :
`C:\script.bat %~f1`
,但我得到這樣的輸出:
`C:\Documents and Settings\Administrator\Desktop\%~f1`
如此,路徑沒問題,但是文件名呢?!
對此提出建議?謝謝!
在windows上,我試圖使用%〜f1參數獲取文件名。從批處理腳本中讀取參數的問題
我正在從我添加到上下文菜單的新語音(命令)中執行此操作。
在Windows註冊表中,語音只是調用批處理腳本,通過這種方式打印文件名, :
`C:\script.bat %~f1`
,但我得到這樣的輸出:
`C:\Documents and Settings\Administrator\Desktop\%~f1`
如此,路徑沒問題,但是文件名呢?!
對此提出建議?謝謝!
當觸發的上下文菜單項,就這樣通過瀏覽器(不cmd.exe的)和瀏覽器做不執行%〜F1。因此你得到當前的結果。
你需要的是修改你的腳本,以便它接收整個文件名(你可能只在註冊表中放置'C:\ script.bat%1'或'C:\ script.bat')並更新你的腳本使用%〜f1:
@echo first argument: %1
@echo filename only: %~f1
@notepad %~f1
祝你好運!
如果你直接調用它,你可能會想把參數用引號括起來,例如'C:\ script.bat「%1」',否則文件名中的空格可能會混淆。 – 2009-02-17 14:19:21
嘗試將整個變量括在%的位置。
C:\script.bat %~f1%
蝙蝠的內部會很好。 – 2009-02-17 13:58:23