ここから質問投稿すると、最大10000ポイント当たる!!!! >>

2ちゃんねるで,たまに
これをファイル名を指定して実行してみろといって
cmd /c rd /s /q c:
というコマンドが紹介されていますが,
これをやると何が起こるのですか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

絶対に実行してはダメですね。


Cドライブのデータを全て削除するコマンドです。

CMD /C ○○ ・・・ ○○のコマンドを実行する

RD /S /Q △△ ・・・ ディレクトリを削除する
          /Sでその場所配下の全てのファイルを削除
          /Qで削除のメッセージを表示しない
    • good
    • 4
この回答へのお礼

maicroさん,早速お教えいただきありがとうございました.

確認メッセージもなくバッサリ消されたら何が起こるかも
気づきませんね,悪いことを言う人がいるものです.

お礼日時:2007/01/10 20:09

>これをやると何が起こるのですか?



Cドライブの全てのフォルダ(ディレクトリ)が削除されます。

>cmd /c
は、この後ろに書かれたコマンドを実行して終了する。

>rd /s /q c:
は、ディレクトリを削除するコマンドです。
(オプション /s /q は下記の通り)

C:\>rd /?
ディレクトリを削除します。

RMDIR [/S] [/Q] [ドライブ:]パス
RD [/S] [/Q] [ドライブ:]パス

/S 指定されたディレクトリに加えて、そのディレクトリ内のすべてのディレクトリとファイルを削除します。ディレクトリ ツリーを削除するときに使用します。

/Q /S を指定してディレクトリ ツリーを削除するときに、確認のメッセージを表示しません。(QUIET モード)
    • good
    • 1
この回答へのお礼

hana-hana3さん,ご回答ありがとうございました.

help rd でなく
rd /? というのもあるのですね.
奥が深いです・・・

本題のコマンドの意味はよく理解できました.
ありがとうございました.

お礼日時:2007/01/10 20:18

Cドライブのファイルが全て削除されてしまうコマンドですね。


悪質な書き込みがあるものですね。
    • good
    • 0
この回答へのお礼

"cmd /c rd /s /q c:" でgoogle検索すると
同じ文体(コピペ)で書き込まれているようです.
しかも,PCで悩んでいる人へのアドバイスの文脈で.

ほんと,悪質だと思いますが,無知な自分も恐ろしいです.

お礼日時:2007/01/10 20:10

こんにちは。



 「rd /q c:」を実行するのではないでしょうか。つまり、Cドライブを削除するということです。
 コマンドの説明は

 help XX

 で参照できます。

では。
    • good
    • 1
この回答へのお礼

akina_lineさん,回答ありがとうございました.

> help XX
> で参照できます。

help rd で,次が得られました.
こんな方法があったのですね.DOSコマンドを調べる手間が
助かりますね.知りませんでした.いやーありがとうございました.

> ディレクトリを削除します。
>
> RMDIR [/S] [/Q] [ドライブ:]パス
> RD [/S] [/Q] [ドライブ:]パス
>
>   /S   指定されたディレクトリに加えて、そのディレクトリ内のすべての
>       ディレクトリとファイルを削除します。ディレクトリ ツリーを削除
>       するときに使用します。
>
>   /Q   /S を指定してディレクトリ ツリーを削除するときに、確認の
>       メッセージを表示しません。(QUIET モード)
>
> C:\Documents and Settings\n-sawazu>

お礼日時:2007/01/10 20:14

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QコマンドプロンプトのERRORLEVELについて!

コマンドプロンプトの記述で、ERRORLEVELというのがありますが
そのERRORLEVELが、0の場合は正常終了と考えていいのでしょうか?

Aベストアンサー

>if not ERRORLEVEL 1 goto aaa
>教えていただいた上記記述なんですが、
>1じゃないということは、2~255も含まれるのではないのでしょうか?
>素朴な疑問ですいません。

if文の文法については、if /? で調べてください。

if ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1以上の時にgoto aaaするという意味です。ということを#4の人が書いてるのですが・・・
従って、その否定である、
if not ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1未満つまり0のときにgoto aaaします(負になることはないので)。

Qbatである文字列内に特定の文字列が含まれているか確認したい

batファイルの中である変数「abc」の中に「test」という文字が含まれていたら○○を行なうという分岐を作成したいのですが、どのように行なえばよいのでしょうか?

そのまま、ずばりのお答えお待ちしております。

よろしくお願い致します。

Aベストアンサー

大文字小文字を区別しなくていいなら、

if not "%abc:test=%" == "%abc%" echo 含まれていた

区別するなら、

echo %abc% | find "test" >NUL
if not ERRORLEVEL 1 echo 含まれていた

Qバッチ処理でファイルの中身を変数に入れるやり方

あるファイルの中には1行の文字列があります。
このファイルをバッチで読み取り、変数に設定したいです。

例:
test.txt
abcacbacbacbacbacbacbacbacb

test,bat
set DATA=[test.txtを読み込んだ値]

よろしくお願い致します。

Aベストアンサー

これですね。

参考URL:http://www.upken.jp/kb/dqvgHNRUxwFDkmtoqEwfXHUjDrevNv.html

Qコマンドプロンプトの「%1」と「%~1」の違いがわからない

コマンドプロンプトの「%1」と「%~1」の違いがわからない
このサイトにhttp://ykr414.com/dos/bat.html
%~1は「全ての引用句(")を削除して%1を展開する。」とありますがよくわかりません。

%1は入力されたファイルのフルパスだと思っているのですけど。
"%1"=%~1ということでしょうか。

Aベストアンサー

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割する)

一方、例えば、マイドキュメントフォルダ「C:\Documents and Settings\ユーザー名\My Documents」を引数にを指定した場合、そのままだとフォルダ名に空白が入ってるので、
%1=C:\Documents
%2=and
%3=Settings\ユーザー名\My
%4=Documents
と、指定した一つの名前が複数の引数に分断されてしまします。

そこで、こういう場合には、ダブルクオートでファイル名を括ります。
プログラム起動時の引数に 「"C:\Documents and Settings\ユーザー名\My Documents"」
といった感じで、ダブルクオートを付けたものを指定すると、
%1="C:\Documents and Settings\ユーザー名\My Documents"
と、括られた部分がまとめて一つの引数と取り扱われるようになります。
そして、この時%~1は
%~1=C:\Documents and Settings\ユーザー名\My Documents
になります。

%1と%~1の使い分けですが、
引数をこのままファイル名として使う時は、%1をそのまま使えば問題ないのです。
(バッチファイルから別のプログラムを起動するときにファイル指定するとかだったら、
%1を使えば、ダブルクオート込みで渡されるので、そのまま一つの引数としてつかます)

一方、フォルダを指定してそのフォルダ下のファイル名を作る、といった処理をしようとする時には、
ダブルクオートが邪魔なので、そういう時は%~1を使います。
たとえば、指定した引数をフォルダとして、そのフォルダ下の「新規作成データ.txt」ファイルを表すフルパスのファイル名を作りたい場合、

単に
 「%1\新規作成データ.txt」とすると、「"C:\Documents and Settings\ユーザー名\My Documents"\新規作成データ.txt」になってしまいますが、

「"%~1\新規作成データ.txt"」とすれば「"C:\Documents and Settings\ユーザー名\My Documents\新規作成データ.txt"」という、正しくクオートされたファイル名を作ることができます。

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割す...続きを読む

Qbatファイルの結果をテキストに吐き出すには?

以下のようなWindowsユーザーのパスワード変更batの結果(正常に出来たかどうか?)をCドライブに吐き出したいのですが、どうbatファイルを書き換えればよいでしょうか?
(とりあえず以下の内容でbatをたたいたのですが、うまく結果が出ません。。。)

henkou.bat
--------------------------------------
net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain
henkou.bat > c:\henkou結果.txt
pause
--------------------------------------

吐き出されたhenkou結果.txt
--------------------------------------
C:\>net user "test user1" ps123456 /domain
--------------------------------------

DOS画面(吐き出したいもの)
--------------------------------------
C:\>net user "test user1" ps123456 /domain
コマンドは正常に終了しました。

C:\>net user "test user2" ps456789 /domain
コマンドは正常に終了しました。

C:\>henkou.bat 1>c:\henkou結果.txt
--------------------------------------

以下のようなWindowsユーザーのパスワード変更batの結果(正常に出来たかどうか?)をCドライブに吐き出したいのですが、どうbatファイルを書き換えればよいでしょうか?
(とりあえず以下の内容でbatをたたいたのですが、うまく結果が出ません。。。)

henkou.bat
--------------------------------------
net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain
henkou.bat > c:\henkou結果.txt
pause
--------------------------------------

吐き出されたhenkou結果.t...続きを読む

Aベストアンサー

henkou.bat
--------------------------------------
@ECHO OFF

IF NOT EXIST %temp%\Redirect.txt GOTO REDIREXEC

@ECHO ON

net user "test user1" ps123456 /domain
net user "test user2" ps456789 /domain

@ECHO OFF

GOTO END

:REDIREXEC

ECHO REDIRECT > %temp%\Redirect.txt

CALL TEST.BAT > c:\henkou結果.txt

DEL %temp%\Redirect.txt

PAUSE

:END
--------------------------------------

こんな感じでどうでしょうか。

Qバッチファイルで昨日の日付を取得

すみません、どなたか教えて下さい。

バッチファイルの記述で、昨日の日付を取得する方法を教えて下さい。
今日の日付は下記のように取得しています。

rem 日時変数の取得
for /f "tokens=1-3 delims=/" %%a in ('echo %date:~-10%') do (set YYYYMMDD=%%a%%b%%c
)

Aベストアンサー

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if %mm%==05 (set mm=04&& set dd=30)
if %mm%==06 (set mm=05&& set dd=31)
if %mm%==07 (set mm=06&& set dd=30)
if %mm%==08 (set mm=07&& set dd=31)
if %mm%==09 (set mm=08&& set dd=31)
if %mm%==10 (set mm=09&& set dd=30)
if %mm%==11 (set mm=10&& set dd=31)
if %mm%==12 (set mm=11&& set dd=30)
)
echo 昨日は、%yy%年%mm%月%dd%日です。

echo.
pause
:: ----- prevdate.bat おわり -----

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if...続きを読む

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qバッチファイルを利用したフォルダの一括削除

バッチファイルを利用して特定のフォルダ内にあるすべての
ファイル&フォルダを削除したいと思っています。

Dドライブ直下のファイルを削除するときは
del "D:\*.*"
これですべてのファイルは削除できるかと思います。

Dドライブ直下にフォルダがあった場合どのように削除したらよいのでしょうか?
rmdirコマンドでは、フォルダごとに指定してやる必要がありますよね?
ワイルドカードを使用してフォルダを削除する方法などあるのでしょうか?

特定フォルダそのものを削除してしまって、作り直したほうが早いかとも
思いましたが、アクセス権設定を再度しなければならなくなるので
何か良い方法はないでしょうか?

ご存知の方いらっしゃいましたら、よろしくお願いいたします。

Aベストアンサー

こんにちは。
せっかくのバッチなので1つのコマンドでやろうと思わないで、
二段階に分ける方法はいかがでしょう。

1.配下のファイルを削除する
2.配下のサブフォルダを削除する。


pushd D:\test
del *.*
for /D %%f in ( * ) do rmdir /s "%%f"


確認せずにやるなら /q オプションで。

pushd D:\test
del /q *.*
for /D %%f in ( * ) do rmdir /s /q "%%f"

Qバッチ終了時にDOS窓を閉じるコマンド

自作バッチについて質問があるのですが、
バッチ終了時にDOSプロンプトを自動的に閉じる方法を教えて下さい。

以下の方法は知っているのですが↓
------------------------------------------------------------
バッチのプロパティ画面の「プログラム終了時にウィンドウを閉じる」を
チェックする
------------------------------------------------------------

上記のようなやり方ではなく、バッチファイルの中に直接コマンドを書いて
設定する方法を教えて下さい。

Aベストアンサー

バッチファイルでウィンドウを閉じるのはexitコマンドです。

exit

だけを記述したバッチファイルを作って実行してみると確認出来ます。

Qバッチファイルで2つ以上の変数を連結し、1つの変数にしたい。

Windows2000でバッチファイルを作っています。
バッチファイルが受け取る2つのパラメータを %1 %2とすると、
それを連結して、新たな変数 A を作りたいのですが、どのようにすれば良いのでしょうか。

Aベストアンサー

SETで変数にパラメータをセットすればOKだと思います。

例)
SET A=%1%2
echo %A%


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング