【.cmd】 バッチファイルスクリプト %10 【.bat】

このエントリーをはてなブックマークに追加
321デフォルトの名無しさん
バッチファイルではないんですが
Windows 8.1 のコマンドプロンプトでダブルクォーテーションを使えないんですが


ぐぐったらダブルクォーテーションじゃなくて丸かっこでした。

ttp://www.enoie.net/blog/2012/10/vs2012%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC/
> どうも「(」や「)」が環境変数に入るとだめらしい。
322デフォルトの名無しさん:2014/01/02(木) 04:02:28.33
>>321 これか?
http://orangeclover.hatenablog.com/entry/20090903/1251988909

setlocal enabledelayedexpansion
if {%1} == {%2} (
path !normal_test_home!\bin;!path!
) else (
path !error_test_home!\bin;!path!
)
endlocal & path %path%

でいいんじゃね
323321:2014/01/02(木) 05:18:49.92
どうもダブルクォーテーションは関係なかったようで。

ttp://anago.2ch.net/test/read.cgi/software/1278083626/877

start コマンドで名前を指定できるのを省略して動いてたからいいかと思ってたら
Windows 8.1 では省略不可で動かなくて。
コマンド窓が開くだけで終わるからいろいろやってていろんなエラーが出てたという。


Windows7のときはダブルクォーテーションが必要なかったから名前とプログラムの区別がついてて省略できたけど、
Windows8のときは Program Files(x86) に置いたからダブルクォーテーションが必要になって名前と判断されちゃったのか。

じゃあ、Windowsの仕様が変わったんじゃなくて自分がヘマしてただけだったんだな。