2001.07.31 updated
Windows2000 Tips
Windows95,98の「MS-DOS プロンプト」との違いなど
Win2K では、コマンドラインから単純にスクリーンセーバーのファイル名を打ち込んでも
スクリーンセーバーの設定画面が表示されるのみで、起動しません。
試みに、コマンドラインオプション( /start )を指定するとOKでした。
例:C:\>c:\winnt\system32\ssmyst.scr /start
Win98では、deltree コマンドがあって、ファイルやサブディレクトリごとディレクトリの
消去が可能でしたが、Win2K では、このコマンドがありません。
その代わり、rd (rmdir) コマンドが拡張され、オプション( /S )の指定で、deltree と
同様の動作をさせることができます。キーマクロファイルに、
deltree = rd /S $*
と、記述しておくとよいでしょう。
例:C:\>rd /S temp1
temp1 ディレクトリ以下のすべてのファイル、サブディレクトリを消去する
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 文字以内です。スペースも使用できます。\、/、:、*、?、"、<、>、| の各文字は使用できません。
この違いは、一体どうゆう理由なのでしょう??。)
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) |
| cdplayer | CD プレーヤ |
| 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
となって欲しい。
【 この頁の先頭へ戻る 】