トップ回答者
; が連続して2つ入っているディレクトリ内に置いたbatファイルが動きません。

質問
-
Dosコマンドの質問コーナーがありませんでしたので、こちらで失礼させていただきます。
:
copy /Y C:\test";;"\test.txt C:\test";;"\"test - コピー.txt"
pause:
と書いたbatファイルを
C:\やデスクトップに置いた場合は、 test - コピー.txt が作られるのですが、
C:\test;;に置いた場合は、すぐに窓が閉じてしまい、pauseも効きませんC:\test;;の中にbatファイルを置いて使えるようにする方法は無いものでしょうか?
どなたかご存じでしたら、ヒントだけでも教えて下さい m(_ _)mちなみに、 C:\test; や C:\;test; のように、 ; が連続していなければ
そのディレクトリ内にbatファイルを置いてもコピーできました。
補足です:windows8.1 64bitで上のコマンドを試していたのですが、
windows7 32bit上でも、 上の症状となってしまうようです TT
- 編集済み koujichiu 2014年11月10日 6:18
回答
すべての返信
-
nagino さん、 こんにちは。 ご回答ありがとうございます。
コードをコピペさせていただき、batファイルをC:\test;;の中に入れて
そこでダブルクリックをしてみたのですが、
やはり私のパソコン(Windows8.1 64bit)では、pauseコマンドも効かず
窓が瞬間的に開いてすぐに閉じてしまいました。
自分でもpathに登録 dir1;dir2;...;C:\test";;"や C:\test^;^; などをしたり
ディレクトリ名の中の;;を ^ や " や ' や \ などを組み合わせていろいろと括ってみたり
コードの最初にCD C:\ 等々をしてみたのですが、
もしかすると C:\test;;の中にある.batファイル自体を読みに行けない
(ディレクトリを辿れずに、command.comと関連付けできない感じ?)
のような気もしています。
●追伸です。
試しに C:\test;;の下に、
pauseとだけ書いたbatファイルを置いてダブルクリックしてみたのですが、
瞬間的に窓が立ちあがって「指定されたパスが見つかりません」と出ていました。
- 編集済み koujichiu 2014年11月10日 6:25
-
自己解決というか、理由がなんとなくわかりました。
ウィンドウズではファイルやディレクトリ名として使える文字で命名したディレクトリに置いても、
Dosからはたどっていけないのが原因なのかもしれません。
// [NT] バッチファイルやコマンドファイルを実行できない
// http://support.microsoft.com/kb/171651/ja.bat ファイルや .cmd ファイルが置かれているディレクトリや、その親ディレクトリの名前に、以下の文字が含まれている場合に、この現象が発生します。
@ & ^ ( )なお、アットマーク ( @ ) を含むディレクトリの場合、[スタート] メニューの [ファイル名を指定して実行] を使用しても、この現象は発生しません。
ですので、ちがうスクリプトでコピー頑張ってみます!