おしえてください。
WindowsNT,Windows2000で作成するバッチファイルの拡張子は
「.bat」、「.cmd」のどちらがベターですか?

WindowsNT,Windows2000でバッチファイルを作成して
実行したいのですが、そのバッチファイルの拡張子として
(1)「.bat」、(2)「.cmd」の2種類で実行可能と認識しています。

私は
(1)「.bat」は「command.com」、(2)「.cmd」は「cmd.exe」より動作すると
思っています。
よって(1)「.bat」だと16ビットで動作するため、何たかの不具合がでないのかなと懸念しています。
(1)「.bat」、(2)「.cmd」どちらでもいいのなら現在つくっている
(1)「.bat」でいきたいのですが・・・。
どうかご回答お願いします。

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

A 回答 (1件)

こんにちは。



どちらでも、大丈夫ですよ。

batは、CMD.exe & comannd.com
cmdは、CMD.EXE
に【対応】と考えてください。

なお、デフォルトの設定でしたら、どちらもCMD.EXEで、実行されるようですね


bat = MS-DOSバッチファイル
CMD = Windows NT スクリプト
の関連付けをうまく変更すると、シェルを意図して変える事も可能かもしれませんね(実験してないんですが(^^;)。

参考になれば。
でわ
    • good
    • 0

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

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

QWindowsNT4.0で、バッチファイル(*.bat)の関連付けが壊れた

バッチファイルをダブルクリックなどして実行しても、
エディタでそのファイルを開くようになってしまいま
した。この関連付けを復旧するにはどうしたらいいん
でしょうか?


Meで同様の質問があったのは見つけています。それと
同じでよいのなら助かるのですが、そのマシンが手元
にないので試すことができません。

Aベストアンサー

ファイルの動作と拡張子の関係はここで変更できます。

1. ファイルマネージャを起動します。
 スタートメニュー
 ↓
 ファイル名を指定して実行
 ↓
 名前: winfile (入力)

2. アプリケーションとの関連付けを確認します。
 ファイル
 ↓
 アプリケーションとの関連付け
 ↓
 拡張子: bat (入力)
 ↓
 ファイルタイプ変更 (※)

ここで私のマシンの場合は、各項目が以下のように設定されてます。これにあわせてみてください。

 ファイルタイプ: MS-DOS バッチファイル
 動作: 開く
 コマンド: 「"%1" %*」 (「」内を入力)
 DDEを使用: (チェック状態)
 アプリケーション: 「"%1"」 (「」内を入力)
 トピック: System

(※) このボタンが押せないときはファイルタイプ作成ボタンを押して上記と同じように設定し、ファイルタイプと関連付ける拡張子欄に"bat"を追加してください。

フォルダオプションのファイルの種類からもこのテの変更はできると思うので、その方法を今から試してみます。
なので、もしこれでだめだったらまたカキコしてみてくださいね。

ファイルの動作と拡張子の関係はここで変更できます。

1. ファイルマネージャを起動します。
 スタートメニュー
 ↓
 ファイル名を指定して実行
 ↓
 名前: winfile (入力)

2. アプリケーションとの関連付けを確認します。
 ファイル
 ↓
 アプリケーションとの関連付け
 ↓
 拡張子: bat (入力)
 ↓
 ファイルタイプ変更 (※)

ここで私のマシンの場合は、各項目が以下のように設定されてます。これにあわせてみてください。

 ファイルタイプ: MS-DOS バッチファイル
 動作: 開...続きを読む

Q拡張子が「.exe」でないファイルを実効ファイルとして実行するには?

こんにちは。
いつもお世話になっております。

拡張子が「.exe」でないファイルを実効ファイルとして実行するにはどうしたらよいでしょうか?
例えばVBで作成した実行ファイル「test.exe」を名前の変更で「test.txt」などにした場合にそれを実行ファイルとして実行したいのです。
エクスプローラ上でダブルクリックした場合は当然テキストエディタが立ち上がってしまいます。
一応、コマンドプロンプト上で実行した場合は実効ファイルとして起動したのですが、
もう少し簡単に(ファイル名を指定して実行などで)できないのでしょうか?

どうかご教示下さい。

環境:Windows 2000

Aベストアンサー

エクスプローラから実行する場合、拡張子で実行アプリを判断していますので結論から言いますと無理です。

ところで、なぜ.exeを.txtへ変更する必要があるのでしょうか。
「ファイル名.txt.exe」とし、拡張子を表示しない設定にしてみるとかすれば擬似的に表現する事もできますが・・。

Qバッチファイル(.BAT)のパラメータ

バッチファイル(.BAT)をWindows2000Serverで実行する際、パラメータ付きで実行します。

2000Serverの1日前の日付をパラメータにしたいのですが可能でしょうか?(昨日のデータを抽出する)

以上、お願いいたします。

Aベストアンサー

とりあえず作ってみました。
これで前日の日付は取得できるはずです。
ただし、うるう年とか2000年問題には対応してません。
あと詳細なデバッグはやってませんのでエラーがあるかもしれません。

for /f "tokens=1 delims=/ " %%i in ('date /t') do set year=%%i
for /f "tokens=2 delims=/ " %%j in ('date /t') do set month=%%j
for /f "tokens=3 delims=/ " %%k in ('date /t') do set day=%%k

echo %year%
echo %month%
echo %day%

if %month%==01 goto jan
goto aaa

:jan
if %day%==01 goto gantan
set /a day=%day%-1
goto last

:gantan
set /a year=%year%-1
set month=12
set day=31
goto last

:aaa
if %day%==01 goto tuitati
set /a day=%day%-1
goto last

:tuitati
if %month%==02 goto feb
if %month%==03 goto mar
if %month%==04 goto spr
if %month%==05 goto may
if %month%==06 goto jun
if %month%==07 goto jul
if %month%==08 goto aug
if %month%==09 goto sep
if %month%==10 goto oct
if %month%==11 goto nov
if %month%==12 goto dec
goto last

:feb
set month=1
set day=31
goto last

:mar
set month=2
set day=28
goto last

:spr
set month=3
set day=31
goto last

:may
set month=4
set day=30

:jun
set month=5
set day=31
goto last

:jul
set month=6
set day=30
goto last

:aug
set month=7
set day=31
goto last

:sep
set month=8
set day=31
goto last

:oct
set month=9
set day=30
goto last

:nov
set month=10
set day=31
goto last

:dec
set month=11
set day=30
goto last

:last
set hizuke=%year%%month%%day%
echo %hizuke%

pause

とりあえず作ってみました。
これで前日の日付は取得できるはずです。
ただし、うるう年とか2000年問題には対応してません。
あと詳細なデバッグはやってませんのでエラーがあるかもしれません。

for /f "tokens=1 delims=/ " %%i in ('date /t') do set year=%%i
for /f "tokens=2 delims=/ " %%j in ('date /t') do set month=%%j
for /f "tokens=3 delims=/ " %%k in ('date /t') do set day=%%k

echo %year%
echo %month%
echo %day%

if %month%==01 goto jan
goto aaa

:jan
if %day...続きを読む

Qブラウザの画面表示サイズが小さく中途半端で........................

WINDOWS MEでブラウザを立ち上げたときの画面表示には問題ないのですが目的のURLへジャンプした際は必ず小さい中途半端のサイズ(縦10CM X 横2CMぐらい)のウインドウがPOP UPするようになってしまいました。(以前はありませんでした。)毎回最大化をクリックしなければならず不便で仕方ありません。毎回、画面を最大化されたサイズもしくは普通サイズで現れるようにしたいのですが、何か方法はないのでしょうか? 宜しくお願い致します。

Aベストアンサー

ブラウザとはIEの事だと思いますが、リンクをクリックしたときに最大化で開くのはIEの仕様で出来ないようです。

一般的にはリンク先をクリックしてその小さいサイズのウインドウが開いたらウインドウの右下をマウスでドラッグして自分の都合のよいサイズに変更します。
そして、「Ctrl」を押しながら閉じるボタンをクリックして閉じます。

その後はその大きさが保存されるはずです。

後は、IEウインドウサイズを監視するツール(Fix IE)
http://www.vector.co.jp/soft/win95/net/se106125.html

タブブラウザを使うなどの方法もあります。

Qサービスプロセスからバッチファイルを起動すると、cmd.exeが増幅する。

私が作成したサービスプログラム(コントロールパネル-管理ツール-サービスに表示されるプロセス)から、以下の記述のバッチファイル(test.batとします)をCreateProcess()にて起動したところ、test.bat内のap.exeは起動せず、cmd.exeのみが増幅していきます。(タスクマネージャにて確認)起動できる場合もあるのですが、何が原因なのでしょうか?

test.batの内容
start /B "C:\Program Files\TEST" ap.exe

Aベストアンサー

start /B "C:\Program Files\TEST" ap.exeでは
「何がしかの指令」と解釈したCMD.EXE(コマンドプロセッサ)が
起動されますが、AP.EXEの部分をパラメータとしているから、でしょう。

AP.EXE をNotepad.EXE と置き換えて考えると良いと思います。
コマンドプロンプト上で[cmd notepad][Enter]としてもNotepadは起動しません。

AP.EXE をNotepad.EXE と置き換え、Sample.txtを引き渡す、ということを例にすると
start /B "C:\Windwos\Notepad sample.txt"なら動きますよね。

こんな説明ではいかがでしょうか?


人気Q&Aランキング

おすすめ情報