koron / netupvim

Network updater for Vim (+kaoriya) on Windows
MIT License
43 stars 2 forks source link

空白を含むディレクトリで正常に動作しない #14

Closed kariya-mitsuru closed 8 years ago

kariya-mitsuru commented 8 years ago

netupvim-v1.0b1.zip を C:\Program Files\Vim に展開して UPDATE.BAT を実行したら、C:\Program に新バージョンが取得されました。 なお、試しにコマンドプロンプトから "c:\Program Files\Vim\netupvim" -t "C:\Program Files\Vim" を実行したら、正常に C:\Program Files\Vim に新バージョンが取得されました。 UPDATE.BAT ではディレクトリ名に空白を含んでる場合にうまく動作しないようです。 ご対応いただけると助かります。 (すみません、自力ではうまく直せませんでした…)

Bakudankun commented 8 years ago

同じ現象が起きました。

バッチファイルの%TARGET_DIR%をダブルクォーテーションで囲むだけでは

open C:\Program Files\Vim"\vim.exe: The filename, directory name, or volume label syntax is incorrect.

というエラーが出ました。 -tオプションの引数が\"で終わっていると良くない?ようです。

koron commented 8 years ago

あら… os.Args がおしりに " を付けた文字列を返してくるな… もしかして golang ランタイムのバグかな?

koron commented 8 years ago

あー %TARGET_DIR%\ で終わってるから、そのせいで os.Args がおかしなことになってるっぽい。

koron commented 8 years ago

そしてそのせいで RESTORE.bat も正しく動かない。引数の順番変えるか、カレントディレクトリで制御するか、だなぁ。

koron commented 8 years ago

対象ディレクトリを -t で指定する方式から、netupvimがもともと持っていたカレントディレクトリを対象とする方式に切り替えます。

koron commented 8 years ago

ついでに、PATHに netupvim.exe があるとそっちが優先されちゃうケースへの対応も追加します。

koron commented 8 years ago

part of #8