質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

1回答

3121閲覧

Windowsのバッチファイル「¥¥?¥」の意味

StrawberryUncle

総合スコア14

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

2クリップ

投稿2017/05/23 06:03

###表題
Windowsのバッチファイル「¥¥?¥」の意味

###概要

社内で触ったバッチファイルに標記の記述が利用された処理が書いてあるのを見つけました。
特別私に関係がある処理ではありませんでしたが、ググっても出てこないので気になり質問させていただきました。
社外秘に当たるためソースコードを掲載できず恐縮ですが、以下のイメージで使われておりました。

###該当のソースコード

del \\?\C:\windows\system32\drivers\etc\hosts

情報が足りなかったり質問の仕方が良くないかもしれませんがご容赦ください。
今後のスキルの為、皆様のお時間あるとき教えていただけたら嬉しく思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。こちらの「サービス機能の不活性化」の項に、記載を見つけました。
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b08_01.html
貴社のコーディングされた方は、きっと高度なセキュリティスキルをお持ちなのでしょうね。

投稿2017/05/23 06:13

編集2017/05/23 06:16
hsk

総合スコア728

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HiroshiWatanabe

2017/05/23 09:43

「¥¥?¥」はWin32プログラムを組む時の環境での話しではなくバッチファイルでも有効なんでしょうか?私のWindows環境ではバッチファイルで「¥」でディレクトリを区切るパス指定で正しく認識しますので「¥¥?¥」と頭につけると逆にパスとしては不正になりますが…
hsk

2017/05/24 01:18 編集

パスとしてどう不正になるのでしょうか?(hostsファイルは適切に消えましたよ) >バッチファイルで「¥」でディレクトリを区切るパス指定で正しく認識しますので とありますが、リンク先にエンマークではディレクトリ名として区切られないと、どこに書いてあると認識されています? ところで、バッチファイルとWin32とで違うはずとの見解をご説明いただけますか?(本来なら質問文にあなたの見解を盛り込んでおいて、このようなやりとりを省きたいところですね)
himazin.blm

2017/05/24 02:26

おそらくですが、CDコマンドで試していませんか?「\\?\~」はUNCパスですので、CDコマンドで利用することはできません。DIRコマンドやTYPEコマンド等で使えば想定通り動作するはずです。
HiroshiWatanabe

2017/05/25 07:32

himazin.blmさんのご指摘通り cd \\?\c:\temp\ とするとエラーになりますが dir \\?\c:\temp\ とするとちゃんと c:\temp\ のディレクトリが表示されました。
hsk

2017/05/25 08:11

ところで、そもそもの質問内容は「不正になる」ことを知りたくて、不正の意味は cd コマンドで失敗する ことだったのですか?
HiroshiWatanabe

2017/05/25 08:31

「\\?\」は頭につけるとその後のパスに出現する「\」を「\\」としなくても「\」を「\」として認識してくれるようになるおまじない、だと認識していて「c:\temp\」というパスをプログラムの中で文字列として扱う時に「c:\\temp\\」としないと「c:\temp\」のままでは正しく意図したパスのまま解釈してもらえないと思っていたのですが元々バッチファイルでパスを指定する時に「c:\\temp\\」としなくても「c:\temp\」で本来の意図したパスになるためバッチファイルでは「\\?\」は不要なおまじないな印象があり試しに「c:\\temp\\」とするとバッチファイルではパスを認識できず「\\?\c:\temp\」でも(試した時は)エラーになったのでそもそも「\\?\」がバッチファイルでは使えないのでは?と誤解してバッチファイルでも使える物なんでしょうか?という疑問になりました。確認不足でお騒がせしました。
StrawberryUncle

2017/06/01 23:52

皆様、ご回答頂きありがとうございました。 この度はhsk様のご回答をベストアンサーにさせて頂きます。 今回に懲りず、また質問させて頂く機会がございましたら、その時は皆様のお力添えいただけることを望んでおります。 以上です。よろしくお願いいたします。 hsk様 > Webページのご紹介までしていただきありがとうございます。おかげさまで、よく理解できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問