我已經設置了一個默認打開.txt文件的批處理文件。在之前的問題中,我發現%1給出了實際調用批處理文件的文件的路徑。問題是:如果文件名包含空格,它將被解釋爲多個參數。批處理%1用空格獲取路徑
實施例:
開口文件 「C:\ Users \用戶桌面\空間true.txt」
%1給出: 「C:\ Users \用戶桌面\空間」,然後%2給出:「true.txt」
我怎麼能得到公正的名稱和空白完整的文件路徑,但不嘗試做一個循環,試圖通過合併%1%2%3%獲得的完整路徑4 ...
UPDATE -----------------------
對不起,有一個錯過的溝通。下面的代碼正在工作。訣竅是把「%*」,而不是「%1」
這裏的代碼:
@echo on
set var= "%*"
c:
cd "C:\Users\MyText Editor"
start javaw -jar "MyTextEditor.jar"%var%
pause
我做整體改變路徑,因爲文件,我雙擊與該批次文件在不同的目錄中。我不得不改變它。
更新2 --------------------------
這工作對我最好的解決方案是從這個罰款紳士dbenham。
@echo off
pushd "C:\Users\MyText Editor"
start javaw -jar "MyTextEditor.jar" %*
唯一的抱怨我已經是,有一個情況下,如果%*
不返回引號的路徑。所以我正在尋找最終解決方案。像這樣的"%~*"
但這不起作用。
在此先感謝
那麼讀完我的答案吧。它解釋了爲什麼它不起作用。 – Serenity 2015-02-18 02:57:18