2001.07.31 updated

Windows2000 Tips

Windows95,98の「MS-DOS プロンプト」との違いなど

01. スクリーンセーバーの起動 02. deltree コマンドが無くなった
03. choice コマンドが無くなった 04. キーマクロはお便利
05. 起動時、ログオン時に Ctrl+Alt+Del キーを押さなくてもログオンパネルを表示する
06. 起動時、パスワード入力なしに自動ログオンする
07. Windows2000 Help (HTMLヘルプ) 表示方法 08. ファイル名の付け方
09. EMSメモリーサイズの指定 10. start コマンドで、C:\My Documents が開けない。
11. CD-ROM などの、論理ドライブ名を変更したい! 12. ネットワークの設定を簡単に切り替える
13. cd (chdir) で、二つ上の親ディレクトリへ戻る
99. ウィンドウズアプリのコマンド名


スクリーンセーバーの起動
Win2K では、コマンドラインから単純にスクリーンセーバーのファイル名を打ち込んでも
スクリーンセーバーの設定画面が表示されるのみで、起動しません。
試みに、コマンドラインオプション( /start )を指定するとOKでした。
例:C:\>c:\winnt\system32\ssmyst.scr /start
deltree コマンドが無くなった
Win98では、deltree コマンドがあって、ファイルやサブディレクトリごとディレクトリの
消去が可能でしたが、Win2K では、このコマンドがありません。
その代わり、rd (rmdir) コマンドが拡張され、オプション( /S )の指定で、deltree と
同様の動作をさせることができます。キーマクロファイルに、
 deltree = rd /S $*
と、記述しておくとよいでしょう。
例:C:\>rd /S temp1
temp1 ディレクトリ以下のすべてのファイル、サブディレクトリを消去する
choice コマンドが無くなった
Win98では、choice コマンドがあって、バッチファイルの中で、メニュー選択する場合などに
使っていましたが、Win2K では、このコマンドがありません。
その代わり、set コマンドに オプション( /P )を指定することで、choice と
同様の動作をさせることができます。
とはいえ、まったく同じ動作をするわけでもなさそう(入力文字のチェックなど無いみたい)なので、
何か換わりになるものを作る方がよさそう??
例:set /P bangou="番号を入れてください"
とすると、プロンプトに「番号を入れてください」と表示され、 入力した内容が、環境変数 bangou にセットされる。
キーマクロはお便利
Win2K のコマンドプロンプトウィンドウは、Win9x と異なり、その実体は cmd.exe です。
コマンドラインでは、デフォルトで、ヒストリー機能が効くのですが、Win9x と、同様に
doskey コマンドによって、キーマクロを使うと、お便利です。

c:\tools ディレクトリに keymacro.ini ファイルを置いて、その中に
キーマクロを記述し、
setkey.batの中身に次の一行を入れています。
doskey /macrofile=c:\tools\keymacro.ini

コマンドプロンプトを起動してから、このバッチファイルを実行してもよいのですが、
私の場合、コマンドプロンプトのプロパティのショートカットのリンク先に、以下のように指定しています。
%SystemRoot%\system32\cmd.exe /k c:\tools\setkey.bat
これで、自分好みのキーマクロ(エイリアス)が使える状態で、
コマンドプロンプトが起動します。
以前のDOS時代には、たくさんのバッチファイルを作ったものですが、
キーマクロを作っておくと、バッチファイルだらけにならなくてすみます。
また、[ftp.exe] などのように記述してブロック化すると、
各々のコンソールコマンド上のみで作用するマクロを記述することもできます

keymacro.ini 内の記述例:
macros=doskey /MACROS
myst=c:\winnt\system32\ssmyst.scr /start
wz="C:\Program Files\wz4\wzeditor.exe" $*
wf="C:\Program Files\wz4\wzeditor.exe" /fwzfiler $*
ie="C:\Program Files\Internet Explorer\IEXPLORE.EXE" $1
lha="c:\winnt\system32\lha32.exe" $*
altime="c:\tools\altime\altime.exe"
exp=C:\WINNT\EXPLORER.EXE /e
word="C:\Program Files\Microsoft Office\Office\WINWORD.EXE" $*
excel="C:\Program Files\Microsoft Office\Office\EXCEL.EXE" $*
clear=CLS
dentaku="c:\winnt\system32\calc.exe"
em="C:\Program Files\EmEditor\EMEDITOR.EXE" $*
home=start "c:\my documents\"
den8="C:\Den8_32\denshin8.exe"
deltree=rd /S $*
now=echo off$tdate /T$ttime /T$techo on

起動時、ログオン時に Ctrl+Alt+Del キーを押さなくてもログオンパネルを表示する
いちいち、三つのキーの同時押下は面倒なので、以下のようにします。
( professional の場合 )
1. [コントロールパネル] から「ユーザーとパスワード」を起動
2. [詳細] タブをクリック
3. 「ユーザーがログオンする前には必ず Ctrl+Alt+Del を押す」のチェックを解除。


起動時、パスワード入力なしに自動ログオンする
セキュリティを考えれば余り推奨できませんが、ご家庭で幼児に使わせるなら、
以下のように設定します。(幼児にパスワード入力は酷?)

1.[コントロールパネル] から「ユーザーとパスワード」を起動
2.「このコンピュータを使うにはユーザー名とパスワードを入力する必要があります」
のチェックを解除する。


Windows2000 Help (HTMLヘルプ) 表示方法
    C:\>hh c:\winnt\help\windows.chm

さらに、HTML ヘルプの文字サイズを変更するには?
Windows の HTML ヘルプの文字サイズは IE の文字サイズに依存します。
スクロール機能(ホイール)付のマウスを使っている場合、ヘルプを表示中に Ctrl キーを押しながらスクロールすると、文字の大きさを変えることができます。
当然、IEでも同じ効果が得られます。
(Office 2000 等では、同様の操作で、表示サイズがZoomする。)
ファイル名の付け方
ファイル名は、スペースも含めて最大 215 文字です。ただし、215 文字のファイル名は
お勧めしません。ほとんどのプログラムは、長すぎるファイル名を解釈できません。
次の文字は、ファイル名に使用できません。
    \ / : * ? " < > |

------------------------------------------------------
(Windows 98 SE の Help では、次のように記述されていました。
ファイル名の長さは、半角で 255 文字以内です。スペースも使用できます。\、/、:、*、?、"、<、>、| の各文字は使用できません。
 この違いは、一体どうゆう理由なのでしょう??。)


EMSメモリーサイズの指定
Command Prompt から16ビットのDOSアプリを動かす際に、
EMSメモリーが必要となる場合があります。

このときは、

 C:\winnt\_default.pif

の、プロパティを編集して、EMSメモリーのサイズを指定すること。
デフォールトでは、EMSメモリーサイズは零に指定されている。

(ちなみに、コンベンショナルメモリー(default で、512KB程度)
を増やそうとして、config.ntから、MS-IME を抜くと、16ビットアプリケーションで
は、日本語入力できなくなった。)


start コマンドで、C:\My Documents が開けない。

これまで、ローカルディレクトリやネットワーク上のディレクトリを GUIウィンドウで開くのに、

  start Directory_Name [ディレクトリ名]

のように、startコマンドに引数としてディレクトリ名を与えて いましたが、最近になって、空白を含むディレクトリは、

  start "C:\My Documents"

のように、ダブルクォーテーションマークで囲んでも、開けないことが 分かりました。Windows2000では、新しく開くCMDウィンドウのタイトル
と認識され、コマンドプロンプトが開くだけです。(Win98ではこれで、 OKだったのに。。。)

対処としては、c:\winnt\exploror.exe の、引数に指定して開くことで、 上記のように、名前に空白を含むディレクトリを開くことが可能ですので、
以下のようなマクロを登録するか、

  open =C:\WINNT\EXPLORER.EXE $*

下記のような、バッチファイル(open.bat)を作成して、 パスの通ったディレクトリに置いておくとよいでしょう。

  d:\usr>type open.bat
  C:\WINNT\EXPLORER.EXE %*

そうしておいて、コマンドラインからは、

  open c:\my documents

と、入力すれば、めでたく「マイ ドキュメント」フォルダーが開きます。
空白を含むディレクトリ名であっても、ダブルクォーテーションマークで囲む必要は無いようです。
(Windows2000 の コマンド拡張機能が有効(既定)なとき)
(Windows98 では、startは、外部コマンドでしたが、Windows2000では、内部コマンドとなり、大幅に、起動オプションなどが拡張されました。そのあおりを食ったものか。。。)



CD-ROM などの、論理ドライブ名を変更したい!

Zipドライブや今後ドライブの増設の予定があるときに、
WindowsやアプリケーションのCDドライブ名をあらかじめ、
F: とか、G:にしておきたい。なんてことがあります。
Win98では、たしか、ドライブのプロパティで、ドライブ名の予約ができて、
強制的に、後のほうのドライブ番号を付けれたのですが、Win2000のドライブのプロパティ画面ではそんなのありません。
 解決法としては、レジストリエディタ(regedit)を立ち上げて、


 マイコンピュータ
 |
 +HKEY_LOCAL_MACHINE
  |
  +SYSTEM
   |
   +MountedDevices
を開くと、
     ¥DOSDevices¥D:
     などの形式の名前のものがあります。これが現在のハードウェアの
     論理ドライブ名を示しているので、名前を変更し、
     ¥DOSDevices¥X:
     (X:は、現在空いている(使用されていない)論理ドライブ名)
    とすることで、論理ドライブ名を変更することができるようです。



ネットワークの設定を簡単に切り替える

Windows2000 の netsh コマンドを用いると、複数のネットワーク設定を
コマンドラインから割と簡単に切り替えられます。
(日経Windows2000で仕入れたネタです。)

現在の設定をファイルに保存する。

 netsh -c interface dump > networksetting.txt

(これで、すべてのNICについて設定がテキスト形式のファイルに保存される)

設定を書き戻すときは、以下のように実行する。

 netsh -f networksetting.txt


複数箇所でのネットワーク設定を、異なるファイルに保存しておけば、
コマンド一発で、ネットワーク設定を切り替えられるようになります。


cd (chdir) で、二つ上の親ディレクトリへ戻る

Windows9x系では、コマンドラインから、
 cd...
と、cdの後にピリオド三つで二つ上の親ディレクトリへ移動できましたが、
Windows2000の、cmd.exe ではだめです。
 .  ピリオド一個は、そのディレクトリ自身
 ..  ピリオド一個は、そのディレクトリの親ディレクトリ
を示すのは、DOS時代から変わりません。

ピリオド三つの cd... は、便利な技ですので、これも、
以下のようなマクロにして登録しましょう。

 cd... =echo off$tcd.. $tcd.. $techo on
これで、二つ上の親ディレクトリへ一発で戻れます。

( cd ... みたいに、間にスペースを含むマクロは定義できませんでした。残念。)



ウィンドウズアプリのコマンド名
コマンドラインから次のように打つと、各々のウィンドウズアプリが起動します。
write
 
ワードパッドを起動
( C:\Program Files\Windows NT\Accessories\wordpad.exe )
notepad メモ帳
osk ソフトウェアキーボード起動
winver Windows のバージョン表示
winmine マインスイーパ
sol ソリティア
freecellフリーセル
mspaint ペイント [Win9x: pbrush]
welcome Windows 2000 の 紹介
calc 電卓
explorerエクスプローラ
drwtsn32ワトソン博士
mpaly32 Media Player (version 5)
cdplayerCD プレーヤ
dvdplay DVD プレーヤ(デコーダが別途必要)
sndrec32サウンドレコーダ
sndvol32ボリュームコントロール
<その他>
"C:\Program Files\Windows NT\Pinball\PINBALL.EXE" 3Dピンボール
"c:\program files\Windows Media Player\mplayer2.exe" Windows Media Player (ver. 6.4)

2001.07.18 改訂 tip10 追加
2001.07.11 改訂

【 この頁の先頭へ戻る 】

追記:

Windows2000 では、16ビットDOS用のアプリケーションを実行する際に、
command.com を起動して、16ビットDOS環境を用意する。
この際に、参照する設定ファイルは、
C:\winnt\system32 下の
config.NT
autoexec.NT
が、default で、使用される。(DOSのconfig.sys, autoexec.bat の代替)
たとえば、DOSアプリケーションで、MSIME(DOS版)でないものを使いたければ、
この、config.NT の記述を書き直せばよい。

追記:2

(2001.10.05) 今ごろ気づいたのだが、コマンドラインから、実行ファイル名を指定して、
アプリケーションを起動する際、コマンドのフルパス名の中の、ディレクトリの区切りは、
円マークではなく、スラッシュを使ってもいいようだ。

例えば、
C:\usr>"c:\program files\emeditor\emeditor.exe" を、 C:\usr>"c:/program files/emeditor/emeditor.exe" と、記述してもOK。(UNIX みたい ですね)

フルパス指定でないといけないみたいだし、内部コマンドの、オプション指定などでは通用しないのは残念。
(C:\>cd /winnt/system32 は、不可!)

追記:3

(2001.10.14) 先日気が付いたのですが、cmd.exe の、コマンドラインにおいて、
Ctrl + H == Backspace
Ctrl + M == Enter

と、なる事がわかった。
これで、ダイヤモンドカーソルも効くとよいのですが。
せめて、Vzライクに、
Ctrl + G == Delete
となって欲しい。

【 この頁の先頭へ戻る 】