2009年06月11日

コマンドプロンプトでシステム日付を表示

Windowsのコマンドプロンプトにおいて現在のシステム日付の確認をする時には「date」コマンドを使うことが多いと思いますが、「date」コマンドをそのまま実行すると、以下のように日付修正の入力待ちとなってしまいます。
C:\>date
現在の日付: 2009/06/11 木
新しい日付を入力してください: (年-月-日)
日付の修正がない場合はそのままエンターキーを押せばコマンドプロンプトに戻ります。
C:\>date
現在の日付: 2009/06/11 木
新しい日付を入力してください: (年-月-日)

C:\>
しかしこの方法の場合、通常のシステム日付の確認では問題ありませんが、コマンドプロンプトのバッチファイルなどで処理実行時のシステム日付を表示/出力したい時には、この時刻修正の入力待ちが邪魔になります。このような場合は、「date」コマンドに「/T」オプションを付けて実行すると、日付修正の入力待ち無しで、単純にシステム日付を表示だけしてコマンドプロンプトに戻ります。
C:\>date /T
2009/06/11 木

C:\>
良かったらお試し下さい。

<公爵の独り言>
ちょっと便利ですね。ケースバイケースで使い分けましょう。

posted by 公爵 at 01:51| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでシステム時刻を表示

Windowsのコマンドプロンプトにおいて現在のシステム時刻の確認をする時には「time」コマンドを使うことが多いと思いますが、「time」コマンドをそのまま実行すると、以下のように時刻修正の入力待ちとなってしまいます。
C:\>time
現在の時刻: 0:02:41.53
新しい時刻を入力してください:
時刻の修正がない場合はそのままエンターキーを押せばコマンドプロンプトに戻ります。
C:\>time
現在の時刻: 0:02:41.53
新しい時刻を入力してください:

C:\>
しかしこの方法の場合、通常のシステム時刻の確認では問題ありませんが、コマンドプロンプトのバッチファイルなどで処理実行時のシステム時刻を表示/出力したい時には、この時刻修正の入力待ちが邪魔になります。このような場合は、「time」コマンドに「/T」オプションを付けて実行すると、時刻修正の入力待ち無しで、単純にシステム時刻を表示だけしてコマンドプロンプトに戻ります。
C:\>time /T
0:02
C:\>
良かったらお試し下さい。

<公爵の独り言>
ちょっと便利ですね。ケースバイケースで使い分けましょう。

posted by 公爵 at 01:43| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月11日

コマンドプロンプトでユーザーアカウント一覧表示

Windows NT系OS(Windows 2000やWindows XPなど)のコマンドプロンプトで自分が使っているコンピュータのWindowsに登録されているユーザーアカウント一覧を表示する時には「NETコマンド」の一種である「net user」コマンドを使います。
C:\>net user

\\PC-01 のユーザー アカウント

-------------------------------------------------------------------------------
Administrator Guest
コマンドは正常に終了しました。


C:\>
Windowsに登録されているユーザーアカウント一覧が表示されました。このコンピュータ「PC-01」のWindowsには「Administrator」と「Guest」と言う2つのアカウントが登録されていることがわかります。なお、この「net user」コマンドでユーザーアカウントの追加、削除、有効化、無効化なども出来るそうですが、それは別の機会に紹介致します。興味のある方は、
C:\>net user /help
または
C:\>net help user
で「net user」コマンドのヘルプをご覧下さい。

posted by 公爵 at 02:31| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトを英語モードから日本語モードへ変更

英語モードにしたWindowsのコマンドプロンプトを日本語モードに戻したい時には「jp」コマンド(?)を使います。
C:\temp>dir
Volume in drive C is DISK-1-1
Volume Serial Number is 7777-7777

Directory of C:\temp

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 File(s) 907 bytes
2 Dir(s) 4,777,992,192 bytes free

C:\temp>jp
一旦画面がクリアされてからプロンプトが表示されます。
現在のコード ページ: 932
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 個のファイル 907 バイト
2 個のディレクトリ 4,777,992,192 バイトの空き領域

C:\temp>
コマンドプロンプトが英語モードから日本語モードに変更されました。なお、「jp」コマンド(?)の代わりに「chcp」コマンド(?)を「932」オプション付きで実行しても日本語モードに変更できます。
C:\temp>dir
Volume in drive C is DISK-1-1
Volume Serial Number is 7777-7777

Directory of C:\temp

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 File(s) 907 bytes
2 Dir(s) 4,777,992,192 bytes free

C:\temp>chcp 932
一旦画面がクリアされてからプロンプトが表示されます。
現在のコード ページ: 932
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 個のファイル 907 バイト
2 個のディレクトリ 4,777,992,192 バイトの空き領域

C:\temp>
コマンドプロンプトが英語モードから日本語モードに変更されました。

<公爵の独り言>
役に立つかどうかよくわからないコマンド(?)ですが・・・。

posted by 公爵 at 00:25| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトを英語モードに変更

Windowsのコマンドプロンプトは通常、日本語モードになっております。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 個のファイル 907 バイト
2 個のディレクトリ 4,777,992,192 バイトの空き領域

C:\temp>
us」コマンド(?)を使うと、コマンドプロンプトを英語モードに変更することが出来ます。
C:\temp>us
一旦画面がクリアされてからプロンプトが表示されます。
Active code page: 437
C:\temp>dir
Volume in drive C is DISK-1-1
Volume Serial Number is 7777-7777

Directory of C:\temp

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 File(s) 907 bytes
2 Dir(s) 4,777,992,192 bytes free

C:\temp>
コマンドプロンプトが日本語モードから英語モードに変更されました。なお、「us」コマンド(?)の代わりに「chcp」コマンド(?)を「437」オプション付きで実行しても英語モードに変更できます。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 個のファイル 907 バイト
2 個のディレクトリ 4,777,992,192 バイトの空き領域

C:\temp>chcp 437
一旦画面がクリアされてからプロンプトが表示されます。
Active code page: 437

C:\temp>dir
Volume in drive C is DISK-1-1
Volume Serial Number is 7777-7777

Directory of C:\temp

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 File(s) 907 bytes
2 Dir(s) 4,787,486,720 bytes free

C:\temp>
コマンドプロンプトが日本語モードから英語モードに変更されました。

<公爵の独り言>
役に立つかどうかよくわからないコマンド(?)ですが・・・。

posted by 公爵 at 00:16| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月05日

コマンドプロンプトでファイル名のみの一覧取得

アプリケーションソフトのリリースノート等を作成する時に、アプリケーションソフトを構成するファイルの一覧を記載したりしますが、コマンドプロンプトを使うと簡単にファイルの一覧を取得できます。このような時に使うコマンドは「dir」コマンドですが、ただ単純に「dir」コマンドを使うと、作成日時や空白等、ファイル一覧に必要としない情報も一緒に出力されてしまいます。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/02 06:26 <DIR> .
2008/06/02 06:26 <DIR> ..
2008/06/02 06:26 25 AAA.TXT
2008/06/01 19:16 219 kanto.txt
2008/06/01 19:16 219 test1.txt
2008/06/02 05:56 222 TEST2.BAK
2008/06/02 06:05 222 TEST2.TXT
5 個のファイル 907 バイト
2 個のディレクトリ 4,639,875,072 バイトの空き領域

C:\temp>
上記の場合はせいぜい数個のファイルしかありませんが、大量のファイルがある時に作成日時を消したり、空白を消したりと加工していくのはかなり面倒ですよね。ファイル名のみの一覧を取得したい時には、「dir」コマンドに「/b」オプションを付けて実行します。
C:\temp>dir /b
AAA.TXT
kanto.txt
test1.txt
TEST2.BAK
TEST2.TXT

C:\temp>
作成日時や空白等が除かれた、ファイル名のみの一覧が出力されました。

posted by 公爵 at 18:42| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月04日

16ビットコマンドインタープリタでNETコマンド実行

Windows NT系OSのコマンドプロンプトで実行可能な「NETコマンド」。標準の32ビットコマンドインタープリタ「cmd.exe」では当然実行できますが、16ビットコマンドインタープリタ「command.com」で実行できるか試してみました。
Microsoft (R) KKCFUNC バージョン 1.10
Copyright (C) Microsoft Corp. 1991,1993. All rights reserved.

KKCFUNC が組み込まれました.

マイクロソフトかな漢字変換 バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993

Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-1999.

C:\>net stop "print spooler"
Print Spooler サービスを停止中です.
Print Spooler サービスは正常に停止されました。


C:\>net start "print spooler"
Print Spooler サービスを開始します.
Print Spooler サービスは正常に開始されました。


C:\>
NETコマンド」は16ビットコマンドインタープリタ「command.com」でも実行可能であるようです。

<公爵の独り言>
てっきり16ビットコマンドインタープリタでは実行できないと思っていたのですが・・・。「NETコマンド」がコマンドインタープリタ内蔵の「内部コマンド」ではなく「外部コマンド」だからかな?

posted by 公爵 at 21:08| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月03日

コマンドプロンプトのNETコマンド一覧表示

Windows NT系OSのコマンドプロンプトでは、「help」コマンドで確認できる通常のコマンド(MS-DOS系のコマンド)以外に、「NETコマンド」と呼ばれるWindows NT系OS特有の特殊なコマンドがあります。コマンドプロンプトで利用可能な「NETコマンド」の一覧は「net help」コマンドで表示することが出来ます。
C:\>net help
このコマンドの構文は次のとおりです:


NET HELP コマンド
-または-
NET コマンド /HELP

指定できるコマンドは、次のとおりです。

NET ACCOUNTS NET HELP NET SHARE
NET COMPUTER NET HELPMSG NET START
NET CONFIG NET LOCALGROUP NET STATISTICS
NET CONFIG SERVER NET NAME NET STOP
NET CONFIG WORKSTATION NET PAUSE NET TIME
NET CONTINUE NET PRINT NET USE
NET FILE NET SEND NET USER
NET GROUP NET SESSION NET VIEW

NET HELP SERVICES は、開始することができるネットワーク サービスの一覧
を表示します。
NET HELP SYNTAX は、NET HELP の構文の表記規則を表示します。
NET HELP コマンド | MORE で、ヘルプを 1 画面ずつ表示します。

C:\>
net」コマンドでも「NETコマンド」の一覧を確認できますが、以下のようにかなり簡略化されて表示されます(構文のみ)。
C:\>net
このコマンドの構文は次のとおりです:


NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |
SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]


C:\>
net help」コマンドの後ろに「print」などの「NETコマンド」のコマンド名を付けると、その「NETコマンド」の詳細なヘルプを確認することが出来ます。以下に「net print」コマンドのヘルプを表示した例を示します。
C:\>net help print
このコマンドの構文は次のとおりです:


NET PRINT \\コンピュータ名\共有名
[\\コンピュータ名] ジョブ番号 [/HOLD | /RELEASE | /DELETE]


NET PRINT は、印刷ジョブと共有待ち行列を表示します。待ち行列ごとに、
ジョブとそのサイズや状態、待ち行列の状態を一覧表示します。

\\コンピュータ名
プリンタ待ち行列を共有しているコンピュータの名前を指定します。
共有名
共有プリンタ待ち行列の名前を指定します。
ジョブ番号
印刷ジョブに割り当てられている識別番号を指定します。1 つ以上のプリンタ
待ち行列を持つコンピュータは、各印刷ジョブに一意の番号を割り当てます。
/HOLD
待ち行列内のジョブの印刷を保留にします。保留にされたジョブはプリンタ
待ち行列内に残り、保留が解除されるまで、ほかのジョブが先に印刷されます。
/RELEASE
ジョブの保留を解除します。
/DELETE
待ち行列からジョブを削除します。

NET HELP コマンド | MORE で、ヘルプを 1 画面ずつ表示します。

C:\>
NETコマンド」を「/help」オプション付きで実行しても同じように詳細なヘルプが表示されます。以下に「net print」コマンドのヘルプを表示した例を示します。
C:\>net print /help
このコマンドの構文は次のとおりです:


NET PRINT \\コンピュータ名\共有名
[\\コンピュータ名] ジョブ番号 [/HOLD | /RELEASE | /DELETE]


NET PRINT は、印刷ジョブと共有待ち行列を表示します。待ち行列ごとに、
ジョブとそのサイズや状態、待ち行列の状態を一覧表示します。

\\コンピュータ名
プリンタ待ち行列を共有しているコンピュータの名前を指定します。
共有名
共有プリンタ待ち行列の名前を指定します。
ジョブ番号
印刷ジョブに割り当てられている識別番号を指定します。1 つ以上のプリンタ
待ち行列を持つコンピュータは、各印刷ジョブに一意の番号を割り当てます。
/HOLD
待ち行列内のジョブの印刷を保留にします。保留にされたジョブはプリンタ
待ち行列内に残り、保留が解除されるまで、ほかのジョブが先に印刷されます。
/RELEASE
ジョブの保留を解除します。
/DELETE
待ち行列からジョブを削除します。

NET HELP コマンド | MORE で、ヘルプを 1 画面ずつ表示します。

C:\>
なお、「NETコマンド」の構文だけの簡単なヘルプを表示したい時には「NETコマンド」を「/?」オプション付きで実行します。以下に「net print」コマンドの構文ヘルプを表示した例を示します。
C:\>net print /?
このコマンドの構文は次のとおりです:


NET PRINT \\コンピュータ名\共有名
[\\コンピュータ名] ジョブ番号 [/HOLD | /RELEASE | /DELETE]



C:\>
NETコマンド」はWindows NT系OSの各種機能をコマンドラインから制御できる強力なコマンドです。上手に使ってWindowsを管理しましょう。

posted by 公爵 at 22:15| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでフロッピーディスクをコピー

Windowsのコマンドプロンプトでフロッピーディスクをコピー(複写)する時には「diskcopy」コマンドを使います。では、以下に実行例を示します。
C:\>diskcopy a: a:

ドライブ A: に送り側ディスクを挿入してください
準備ができたら Enter キーを押してください...

コピーしています
トラック数: 80、セクタ数: 18 セクタ/トラック、サイド数: 2

ドライブ A: に受け側ディスクを挿入してください
準備ができたら Enter キーを押してください...
ボリューム シリアル番号は 6C66-4646 です

別のディスクをコピーしますか (Y/N)? n

C:\>
フロッピーディスクのコピーが完了しました。

ところで、現在のほとんどのコンピュータはフロッピーディスクドライブが1基しか無いため、ドライブA:に入れたコピー元フロッピーディスクの内容を一旦メモリに全部読み込み、それからコピー先フロッピーディスクにデータを書き込んでおります。しかしかつてフロッピーディスクドライブが2基あった頃は、「diskcopy」コマンドでのドライブ指定も
C:\>diskcopy a: b:
と2基のフロッピーディスクドライブを指定し、ドライブA:に入れたコピー元フロッピーディスクの内容をほぼダイレクトにドライブB:に入れたコピー先フロッピーディスクに書き込んでおりました。

<公爵の独り言>
そう言えばここ数年、フロッピーディスクを使っていません・・・。この記事を書くためにフロッピーディスクを捜してきました(笑)。普段はUSBメモリですね。

posted by 公爵 at 21:02| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでディスクをフォーマット

Windowsのコマンドプロンプトでディスクをフォーマット(初期化)する時には「format」コマンドを使います。使い方は「format」コマンドの後ろにフォーマットするドライブ名を付けるだけです。では、実際にドライブA:のフロッピーディスクドライブ(FDD)に入れたフロッピーディスク(FD)をフォーマットしてみます。
C:\>format a:
新しいディスクをドライブ A: に挿入してください
準備ができたら Enter キーを押してください...
ファイル システムの種類は FAT です。
照合しています 1.44M バイト
ファイル アロケーション テーブル (FAT) を初期化しています...
ボリューム ラベルを入力してください。
(半角で 11 文字、全角で 5 文字以内)
必要なければ、Enter キーを押してください: fd-001
フォーマットは完了しました。

1,457,664 バイト : 全ディスク領域
65,536 バイト : 不良セクタ
1,392,128 バイト : 使用可能ディスク領域

512 バイト : アロケーション ユニット サイズ
2,719 個 : 利用可能アロケーション ユニット

12 ビット : FAT エントリ

ボリューム シリアル番号は EC0B-A446 です

別のディスクをフォーマットしますか (Y/N)? n

C:\>dir a:
ドライブ A のボリューム ラベルは FD-001 です
ボリューム シリアル番号は EC0B-A446 です

A:\ のディレクトリ

ファイルが見つかりません

C:\>
フロッピーディスクがフォーマットされました。なお、一度Windowsで使えるようにフォーマットしたディスクに限り、「format」コマンドの後ろに「/q」オプションを付加してクイックフォーマット(ディスクに保存してあったファイルやディレクトリの情報だけを削除して素早くディスクを利用可能にする簡易フォーマット)を行うことが出来ます。

最後に、「format」コマンドはハードディスクドライブもフォーマット出来ます。ですから、
C:\>format c:
なんて実行すると大変危険ですので注意して下さい。

<公爵の独り言>
そう言えばここ数年、フロッピーディスクを使っていません・・・。この記事を書くためにフロッピーディスクを捜してきました(笑)。普段はUSBメモリですね。

posted by 公爵 at 20:31| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでの日本語入力

Windowsのコマンドプロンプトで日本語を入力しようとした時、いつもの感覚でキーボード左上にある

漢字」キー

を押して日本語入力機能をONにしようとしても、何故かONにならないことがあると思います。そんな時は、

ALT」キー+「漢字」キー

を押すと、コマンドプロンプトの画面右下に
全あ連ローマ
と表示されて、日本語が入力できるようになります。是非お試し下さい。

<公爵の独り言>
そういえば、昔は「ALT」キー+「漢字」キーで日本語入力をONにしていたような・・・。いつから「漢字」キー単独になったんだろう・・・。

posted by 公爵 at 20:21| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月02日

コマンドプロンプトにおける内部コマンドと外部コマンド

WindowsのコマンドプロンプトのコマンドやMS-DOSのコマンドは、「内部コマンド」と「外部コマンド」に分類されます。

簡単に説明すると、入力されたコマンドを解釈して実行する「コマンドインタープリタ(cmd.exeやcommand.com)」に格納され、「コマンドインタープリタ」さえあれば実行可能なコマンドが「内部コマンド」、別のプログラムとして用意されているコマンドが「外部コマンド」となります。以下に、Windowsのコマンドプロンプトで利用可能な主な「内部コマンド」、「外部コマンド」を紹介致します。

<主な内部コマンド>
chdir(cd)
copy
del
dir
mkdir(md)
rename(ren)
rmdir(rd)
type
ver
verufy
vol

<主な外部コマンド>
arp(arp.exe)
diskcopy(diskcopy.com)
fc(fc.exe)
find(find.exe)
format(format.com)
ftp(ftp.exe)
help(help.exe)
hostname(hostname.exe)
ipconfig(ipconfig.exe)
label(label.exe)
more(more.com)
nslookup(nslookup.exe)
print(print.exe)
sort(sort.exe)
subst(subst.exe)
telnet(telnet.exe)
tracert(tracert.exe)
tree(tree.com)

システム管理上絶対に必要なコマンドは「内部コマンド」、追加機能的なコマンドは「外部コマンド」になっている傾向があります。これは、「コマンドインタープリタ」を巨大化させない配慮や、あえて「外部コマンド」にしておくことにより、機能強化やバグ改修によるコマンドの差し替えをしやすくしているのかもしれません(想像ですが・・・)。

<公爵の独り言>
私は中学生の頃にパソコンを触り初めたのですが、お金が無くてMS-DOSのシステムディスクが買えませんでした(どこで買えるかも知らなかった)。そこで、中学校にあったワードプロセッサ「一太郎」のシステムディスクを使って「format b: /s」を実行し、MS-DOSのコマンドインタープリタしか入っていないMS-DOS起動ディスクを作って内部コマンドを勉強しました。

posted by 公爵 at 05:55| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2つのコマンドプロンプト

Windows NT系のOSには、コマンドプロンプトが2つあります。

1.【cmd.exe】
通常、「コマンドプロンプト」として起動されるのは「cmd.exe」です。「スタートボタン」→「ファイル名を指定して実行」で名前を入力するボックスに
cmd.exe
または
cmd
と入力して「OK」を押すと起動します。
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>
これはWindows NTから搭載された32ビットのコマンドインタープリタです。

2.【command.com】
もうひとつのコマンドプロンプトは、「スタートボタン」→「ファイル名を指定して実行」で名前を入力するボックスに
command.com
または
command
と入力して「OK」を押すと起動します。
Microsoft (R) KKCFUNC バージョン 1.10
Copyright (C) Microsoft Corp. 1991,1993. All rights reserved.

KKCFUNC が組み込まれました.

マイクロソフトかな漢字変換 バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993

Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-1999.

C:\>
なんかいつものコマンドプロンプトとちょっと違うコマンドプロンプトが起動したと思います。これは、MS-DOS、Windows 95、Windows 98などで使われていた16ビットのコマンドインタープリタです。かつて「MS-DOSプロンプト」、「DOSプロンプト」、「DOS窓」と呼ばれていたものです。

現在、コマンドインタープリタは32ビットの「cmd.exe」がその機能を提供しておりますが、古いアプリケーションの互換性を維持するために16ビットの「command.com」を今でも残しているそうです。ですので、「cmd.exe」で実行できても「command.com」では実行できない処理があるそうなので注意が必要です。尤も「コマンドプロンプト」自体が「cmd.exe」なので敢えて「command.com」指定しない限り起動することもありませんが、通常は「cmd.exe」を使うことをお勧めします。

posted by 公爵 at 05:08| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年06月01日

コマンドプロンプトでディスクのボリュームラベル変更

Windowsのコマンドプロンプトでディスクのボリュームラベルを変更する時には「label」コマンドを使います。使い方は簡単で、「label」コマンドの後ろに対象とするドライブ名を指定するだけです。では、ドライブC:の現在のボリュームラベル「DISK-1-1」を「SYSTEM」に変更してみます。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)? SYSTEM

C:\>vol c:
ドライブ C のボリューム ラベルは SYSTEM です
ボリューム シリアル番号は 7777-7777 です

C:\>
上記の実行例で「ボリュームラベルが不要な時はEnterキーを押して下さい」と言う旨のコメントが出ておりますが、新しいボリュームラベルを指定せずにEnterキーを押すと、現在のボリュームラベルは削除されます。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)?

現在のボリューム ラベルを削除しますか (Y/N)? y

C:\>vol c:
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7777-7777 です

C:\>
なお、「現在のボリューム ラベルを削除しますか?」と言うところで「N」を選択するとボリュームラベルの変更をすることなく、「label」コマンドは終了します。
C:\>label c:
ドライブ C: のボリュームは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です
ボリューム ラベル (不要なときは Enter キーを押してください)?

現在のボリューム ラベルを削除しますか (Y/N)? n

C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>
あと、ここまでのボリュームラベル変更は対話式に行いましたが、直接ドライブ名と新しいボリュームラベルを指定することで、コマンドライン1行で変更することも出来ます。
C:\>label c: system

C:\>vol c:
ドライブ C のボリューム ラベルは system です
ボリューム シリアル番号は 7777-7777 です

C:\>
ディスクのボリュームラベル、かつてフロッピーディスクがメインだった頃は、そのフロッピーディスクが何のディスクなのか判別できるようによく記入していたものですが、大容量ハードディスクがメインの現在ではあまり意識もされていないかも知れませんね。

posted by 公爵 at 20:56| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでのディスク情報表示

Windowsのコマンドプロンプトで、ディスクのボリュームラベルやボリュームシリアル番号などのディスク情報を確認する時は「vol」コマンドを使います。使い方は簡単で、「vol」コマンドの後ろに対象とするドライブ名を指定するだけです。
C:\>vol c:
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\>vol d:
ドライブ D のボリューム ラベルは DISK-1-2 です
ボリューム シリアル番号は 7777-8888 です

C:\>
ディスクのボリュームラベル、かつてフロッピーディスクがメインだった頃は、そのフロッピーディスクが何のディスクなのか判別できるようによく記入していたものですが、大容量ハードディスクがメインの現在ではあまり意識もされていないかも知れませんね。

posted by 公爵 at 20:37| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでのファイル書き込みチェック

Windowsのコマンドプロンプトにおいてファイル操作を行った時、そのファイルがちゃんとディスクに書き込まれたかどうかOSにチェックさせることが出来ます。その時使用するコマンドは、「verify」コマンドです。通常、この書き込みチェック機能は「OFF」になっております。現在の書き込みチェック状態を確認する時には、「verify」コマンドをオプション無しで実行します。
C:\>verify
VERIFY は <OFF> です。

C:\>
書き込みチェックを「ON」にする時には、「verify」コマンドに「on」オプションを付けて実行します。また、書き込みチェックを「OFF」にする時には、「verify」コマンドに「off」オプションを付けて実行します。
C:\>verify on

C:\>verify
VERIFY は <ON> です。

C:\>verify off

C:\>verify
VERIFY は <OFF> です。

C:\>
書き込みチェック機能を「ON」にしても「OFF」にしても画面に出力されるコマンドの実行結果やメッセージは何も変わりません。もしかすると、OSによる書き込みチェックのために少しだけパフォーマンスが落ちているかも知れませんが、体感できるレベルではありません。

そもそも、この「verify」コマンドはMS-DOS時代から存在しており、フロッピーディスクとフロッピーディスクドライブの信頼性がそれほど高くなかった時の名残のようなものなのです。ハードディスクが標準となっている現在のコンピュータにはあまり意味はないのかも知れません。でも安全性にこだわりたい時には、この機能を活かしてみるのも良いのではないでしょうか。

<公爵の独り言>
MS-DOS時代、「config.sys」か「autoexec.bat」に「verify」設定をする項目がありましたね。懐かしい・・・。

posted by 公爵 at 20:07| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

テキストファイル中の文字列を検索(抽出)

Windowsのコマンドプロンプトにおいて、テキストファイルの中に指定する文字列があるかどうか検索(抽出)し、その結果を表示したい時には「find」コマンドを使います。では実行例として、テキストファイル「kanto.txt」の中から文字列「Tokyo」を含む行のみ抽出してみます。
C:\>cd \temp

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/06/01 19:16 <DIR> .
2008/06/01 19:16 <DIR> ..
2008/06/01 19:16 219 kanto.txt
1 個のファイル 219 バイト
2 個のディレクトリ 4,563,312,640 バイトの空き領域

C:\temp>type kanto.txt
茨城県,Ibaraki,水戸市,Mito
栃木県,Tochigi,宇都宮市,Utsunomiya
群馬県,Gunma,前橋市,Maebashi
埼玉県,Saitama,さいたま市,Saitama
千葉県,Chiba,千葉市,Chiba
東京都,Tokyo,新宿区,Shinjuku
神奈川県,Kanagawa,横浜市,Yokohama
C:\temp>find "Tokyo" kanto.txt

---------- KANTO.TXT
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
確かに検索され、抽出されました。しかし上記の方法の場合、「Tokyo」では検索されますが、「tokyo」と全て小文字の場合は検索されません。
C:\temp>find "tokyo" kanto.txt

---------- KANTO.TXT

C:\temp>
アルファベットの大文字、小文字関係なく検索対象にしたい場合は、「/i」オプションを付けて実行します。
C:\temp>find /i "tokyo" kanto.txt

---------- KANTO.TXT
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
大文字、小文字関係なく検索され、表示されました。その他、この「find」コマンドには指定した文字列を含まない行のみ検索する機能もあります。その場合は「/v」オプションを付けて実行します。では、「Tokyo」を含まない行だけ抽出してみます。
C:\temp>find /v "Tokyo" kanto.txt

---------- KANTO.TXT
茨城県,Ibaraki,水戸市,Mito
栃木県,Tochigi,宇都宮市,Utsunomiya
群馬県,Gunma,前橋市,Maebashi
埼玉県,Saitama,さいたま市,Saitama
千葉県,Chiba,千葉市,Chiba
神奈川県,Kanagawa,横浜市,Yokohama

C:\temp>
東京都以外の行が抽出されました。あと、指定の文字列を含む行数のみ表示させたい場合には「/c」オプションを付けて実行します。
C:\temp>find /c "Tokyo" kanto.txt

---------- KANTO.TXT: 1

C:\temp>find /c "県" kanto.txt

---------- KANTO.TXT: 6

C:\temp>
最後に、「find」コマンドは上記のように単独で実行するだけではなく、他のコマンドの実行結果を受け取って処理を実行する「パイプ処理」にも使えます。
C:\temp>type kanto.txt | find "Tokyo"
東京都,Tokyo,新宿区,Shinjuku

C:\temp>
色々と使えるコマンドです。是非ご活用下さい。

<公爵の独り言>
UNIX系OSの「grep」コマンドと「wc」コマンドが一緒になったようなものですね。

posted by 公爵 at 19:38| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年05月31日

コマンドプロンプトでファイル名やディレクトリ名を変更

Windowsのコマンドプロンプトにおいてファイル名やディレクトリ名を変更したい場合は、「rename(ren)」コマンドを使います。では以下に実行例を示します。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:49 <DIR> .
2008/05/31 22:49 <DIR> ..
2008/05/31 22:43 <DIR> test
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>rename test1.txt test2.txt

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:51 <DIR> .
2008/05/31 22:51 <DIR> ..
2008/05/31 22:43 <DIR> test
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>rename test aaa

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:52 <DIR> .
2008/05/31 22:52 <DIR> ..
2008/05/31 22:43 <DIR> aaa
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,139,008 バイトの空き領域

C:\temp>
確かにファイル名、ディレクトリ名が変更されました。また、本来はファイル名を変更するコマンドではありませんが、「move」コマンドでも同じディレクトリに別名で移動することにより、ファイル名やディレクトリ名の変更をすることが出来ます。
C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:54 <DIR> .
2008/05/31 22:54 <DIR> ..
2008/05/31 22:43 <DIR> aaa
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,143,104 バイトの空き領域

C:\temp>move test1.txt test2.txt

C:\temp>move aaa bbb
1 個のファイルを移動しました。

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/31 22:55 <DIR> .
2008/05/31 22:55 <DIR> ..
2008/05/31 22:43 <DIR> bbb
2008/05/27 23:55 25 test2.txt
1 個のファイル 25 バイト
3 個のディレクトリ 4,580,143,104 バイトの空き領域

C:\temp>
確かに変更されました。

posted by 公爵 at 22:59| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2008年05月29日

コマンドプロンプトでディレクトリをドライブに割り当て!

Windowsのコマンドプロンプトにおいては、指定のドライブの指定のディレクトリをドライブとして設定することが出来ます。この時使うコマンドは「subst」コマンド。では、実際にディレクトリ「c:\temp」をドライブ「z:」に割り当ててみます。
C:\>subst z: c:\temp

C:\>dir c:\temp
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

c:\temp のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
2 個のディレクトリ 4,611,317,760 バイトの空き領域

C:\>dir z:\
ドライブ Z のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

z:\ のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 25 test1.txt
1 個のファイル 25 バイト
2 個のディレクトリ 4,611,317,760 バイトの空き領域

C:\>
ドライブのボリュームラベルもボリュームシリアル番号もディレクトリ構造も中に入っているファイルも完全に一緒です。ディレクトリ「c:\temp」はドライブ「z:」に割り当てられました。なお、この状態でWindowsのエクスプローラを起動すると、ちゃんとドライブ「z:」が表示されます。また、「subst」コマンドをオプション無しで実行すると、現在どのディレクトリがどのドライブに割り当てられているかを確認できます。
C:\>subst
Z:\: => C:\temp

C:\>
最後に、ディレクトリのドライブへの割り当てを解除する時には「subst」コマンドに「/d」オプションを付けて、解除したいドライブ名を指定します。
C:\>subst /d z:

C:\>subst

C:\>dir z:\
指定されたパスが見つかりません。

C:\>
ディレクトリのドライブへの割り当てが解除されました。もうエクスプローラを起動してもドライブ「z:」はありません。このコマンド、普段はそれほど使わないと思いますが、作業するディレクトリ階層が深くて、絶対パスで指定するとかなりパス名が長くなる時に、対象のディレクトリをドライブに割り当てることによってパス名を短くするのに役立ちます。

<公爵の独り言>
ショートカットの作成みたいなものですね。

posted by 公爵 at 21:36| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトでの拡張子によるファイル実行順位

Windowsのコマンドプロンプトにおいて、あるディレクトリの中に実行形式のファイルが4個ありました。
C:\>cd \temp

C:\temp>dir
ドライブ C のボリューム ラベルは DISK-1-1 です
ボリューム シリアル番号は 7777-7777 です

C:\temp のディレクトリ

2008/05/27 23:55 <DIR> .
2008/05/27 23:55 <DIR> ..
2008/05/27 23:55 125 test1.bat
2008/05/27 23:55 125 test1.com
2008/05/27 23:55 125 test1.cmd
2008/05/27 23:55 125 test1.exe

1 個のファイル 500 バイト
2 個のディレクトリ 4,622,020,608 バイトの空き領域

C:\temp>
コマンドプロンプトにおいて実行形式のファイルを実行する時には、
C:\temp>test1.exe
と拡張子まで指定する場合と、
C:\temp>test1
と拡張子を省略して指定する場合があります。実行するファイル名を拡張子まで指定する場合は問題無いと思います。しかし、上記のようにファイル名は全て同じ「test1」でありながら拡張子がそれぞれ違う場合、
C:\temp>test1
と指定したらどの実行ファイルが実行されると思いますか? 実は実行形式のファイルは拡張子によって実行順位が決められております。この拡張子による実行順位は環境変数「PATHEXT」によって設定されております。
C:\temp>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>
ありました。これを見ると、拡張子による実行順位は「.com」が最優先で実行されるようになっております。ですから、
C:\temp>test1
と指定すると、数ある同名の実行ファイルの中から拡張子が「.com」である「test1.com」が実行されます。もし「test1.com」が存在しなければ「test1.exe」、「test1.exe」が無ければ「test1.bat」、「test1.bat」が無ければ「test1.cmd」が実行されるようになっております。

なお、この拡張子による実行順位は環境変数として設定されているので、簡単に変更することが出来ます。
C:\temp>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>set pathext=.BAT;.CMD;.EXE;.COM;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>set pathext
PATHEXT=.BAT;.CMD;.EXE;.COM;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

C:\temp>
でもこれは一時的な変更ですので、恒久的な変更は「スタートボタン」→「設定」→「コントロールパネル」→「システム」→「詳細タブ」→「環境変数」にて行いましょう。

posted by 公爵 at 01:59| Comment(0) | TrackBack(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。