
標記の通り、コマンドプロンプト上での
エスケープ文字は何を入力すればよいのかで
困っています。
具体的には net use コマンドを利用して共有リソースに
接続しようとしているのですが、
その際に、パスワードに空白文字やダブルクォーテーションが含まれている場合、パスワードを
そのままコマンドプロンプト上に打っても
所望の動作になりません。
特殊文字(|&<>等)はエスケープするのだとは思うのですが
どの文字でエスケープすればよいのかどうかを
探しだすことができませんでした。
(「ダブルクォーテーションでくくる」や「^」を
前につけるというのはあるのですが、これらを
組み合わせてもパスワードに「 "|<>&」等が含まれている場合には対応できませんでした)
どなたかご存知の方、よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
なんか増えていますね。
パスワード1:? なんかバグっぽいんですけど。
パスワード2:「\"" "<" "b" "|" "c」
「"」は\を前に付ける。
「スペース」は「""」で囲う。
この回答への補足
すいません。伺いたいパスワードを間違えていました。
回答No.4 の補足にも記述しましたが
>ただ、パスワードが
>「"\"a□<□b□|□c」(□は半角空白一文字)
>の場合正しく認識しません。
この場合のパスワードのエスケープはどのようになるかを伺おうとしていました。
よろしくお願いします。
ちなみにパスワード2のエスケープは
「\"" "<" "b" "|" "c」ではなく「\"a" "<" "b" "|" "c」と考えていいですよね。
あと、変数を利用すれば解決する問題なのでしょうか?
(なぜ変数を利用しないのか疑問とおっしゃっていたので)
コマンドプロンプトでのエスケープについては大抵のパターンを試した結果
挙動が非常に怪しい上にしっかりとした文書が無いので
私自身仕様という名のバグだと思っています。
(が、仕様をご存じの方がいるかもしれないという希望を持って質問をしている次第です)
No.5
- 回答日時:
Windows2000のヘルプで「エスケープ」を検索すれば出てきます。
なぜ変数を使わないのか疑問。
この回答への補足
私の環境は Windows2000 ではありませんが
XP Pro のヘルプ「エスケープ」で検索されたことは
だいたい把握しています。
よろしければ具体的に、以下の場合のエスケープを
教えていただけないでしょうか?
「」で囲まれた文字列がパスワードです。
これらのパスワードを用いて net use コマンド
を利用する場合をご教授ください。
下記□は半角空白を表します。
パスワード1:「/help」
パスワード2:「"a□<□b□|□c」
C:\>net use \\computer\share /user:username ????
上記2種類のパスワードに対してエスケープした場合
「????」が何になるかをご教授ください。
また、変数を使用するとは set を利用するということでしょうか?
変数を利用しても結果は変わらないのですが。
No.4
- 回答日時:
「 "|<>&」の6文字がパスワードの場合、
net use \\server " \"^|^<^>^&" /user:user
というのが、正しいエスケープかと思います。
あとは、応用なので、ご自分で。
この回答への補足
「"」のエスケープ文字は「\」
「|<>&」のエスケープ文字は「^」ということでしょうか?
コマンドプロンプト上での特殊文字である「|<>&()」に対する
エスケープ文字を「^」だと解釈してよろしいでしょうか?
また、「正しいエスケープ」というのは
どこかに記述されていた内容なのでしょうか?
その場合、その URL を教えていただけないでしょうか?
ただ、パスワードが
「"\"a□<□b□|□c」(□は半角空白一文字)
の場合正しく認識しません。
この場合
"\"\\"a□^<□b□^|□c"
となりますが
net use コマンドを実行しても使い方が表示されてしまうだけです。
パスワードに含まれる「\」自身を「^」「\」でエスケープしても
"\"\\\"a□<□b□|□c" や "\"^\\"a□<□b□|□c"
で試しても認識しません。
おそらく、マイクロソフトが公表している(であろう)
正式なエスケープ文字、コマンドプロンプトでの
認識方法のページを見つけるのが一番ですが
そのページが見あたりません。
どなたか、そのようなページをご存じの方は
いらっしゃいませんでしょうか?
No.3
- 回答日時:
>(「ダブルクォーテーションでくくる」や「^」を
>前につけるというのはあるのですが、これらを
>組み合わせてもパスワードに「 "|<>&」等が含まれている場合には対応できませんでした)
パスワードをシングルクォートで囲めば良いと思います。
net use \\server 'pass>word' /user:username
この回答への補足
パスワードに使用可能な文字には
シングルクォーテーションも可能のようです。
ですので、シングルクォーテーションで囲んだ場合
今度は、シングルクォーテーションを含む
パスワードに対応できなくなってしまいます。
パスワードに使用可能な文字は
ほとんどの記号(ASCII)が当てはまりそうです。
きちんと調べて無くて申し訳ありませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【初月無料キャンペーン実施中】オンライン健康相談gooドクター
24時間365日いつでも医師に健康相談できる!詳しくはコチラ>>
-
コマンドプロンプトで変数内に特殊文字がある場合のエスケープ方法
Windows 95・98
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
4
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
5
DOSコマンドのダブルクォーテーションの扱い
その他(プログラミング・Web制作)
-
6
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
7
VBSでをエスケープする文字は?"
その他(プログラミング・Web制作)
-
8
バッチファイル内置換
その他(開発・運用・管理)
-
9
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
10
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
11
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
12
バッチで指定ファイルの文末に改行コードをつけたい
その他(コンピューター・テクノロジー)
-
13
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
14
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
15
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
16
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
17
echoの出力の最後のスペースを除去したい
iOS
-
18
DOSコマンドでファイルをコピーできない。
その他(パソコン・スマホ・電化製品)
-
19
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
20
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
コマンドプロンプトでのエスケ...
-
5
ターミナルでパスワード入力が...
-
6
su - でパスワードの自動入力を...
-
7
日本語passのzipを解凍
-
8
windows7 ログインパスワード確認
-
9
パスワードの有効期限が切れて...
-
10
大文字と小文字が混ざったパス...
-
11
puttyでキーボード入力ができま...
-
12
"Apple Network"とは何なのでし...
-
13
Macのショートカットの省略形
-
14
MacでのALTキー
-
15
Win10で、IMEパッドをショート...
-
16
PowerPointのスライドショーで...
-
17
Microsoftのアカウントっていく...
-
18
killer control centerは必要?
-
19
インターネットの画面を中央に...
-
20
HOSTキーってどこですか?
おすすめ情報
公式facebook
公式twitter