アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windows3.1でバッチ(.bat)の実行について
10数年前の某装置の組み込みPC(日本語MS-DOS/V6.2 & 日本語MS-Windows3.1)でDOSの
バッチファイルを動作させたいです。
CドライブはIDE2GByte、DドライブにSCSIのMOという構成です。
D:\tempにデータが溜まっていきます。これをC:\transというディレクトリにWindows
のアイコンをクリックすることで移動させたいです。
次のようなバッチファイル(idou.bat)作成しました(△はスペースの意味です)。

del△c:\trans\*.*
move△d:\temp\*.*△c:\trans\.

できたファイルをファイルマネージャのあるグループにドラッグするとアイコンができたので、
ダブルクリックで実行したところ、1回目はうまくいったように見えます。
再度、D:\tempにデータが溜まったところで、アイコンをクリックすると、
    「アプリケーションエラー#$%」でハングアップしたり、
    「c:\>」とwindouwsを抜けたりしてしまいます。

DOS窓で実行すれば問題ないのですが、アイコンから実行したいです。
なにか方法がありますでしょうか?

A 回答 (5件)

メモリ不足ではないかという回答の件ですが、


まずは、MS-DOSをコンベンショナルメモリに置くようにしてみてはどうでしょうか?
config.sysを見る限りハイメモリかUMBに常駐しています。
使用できるコンベンショナルメモリは減りますが、安定します。

Windowsから直接MS-DOSのソフト(バッチファイルを含む)を実行した場合
コンベンショナル領域のMS-DOSを参照しているように思います。

後は、テンポラリファイルが溜まってきているのではないかなとも思います。

試してみてはどうでしょうか?

この回答への補足

DOSをUMBから外してみました。
コンベンショナルメモリは400kを切るくらいの空きです。
いくらか安定したようにも思います。
と、言うのは、先日まではバッチファイルを1回もしくは2回目の実行でDOSに落ちる現象だったのが、
3~4回目で落ちます。(←安定したのだろうか?)

>テンポラリファイルが溜まってきているのではないかなとも思います。
この意味を教えて下さい。
テンポラリファイルを解放する方法ありますか?DOSのバッチで組めるのなら、実行したいファイルに
組み込んで確認してみたいです。
よろしくお願いします。

補足日時:2010/06/28 23:10
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
週明け月曜日に確認してみます。


本日(6/25)はサッカーのvs.デンマーク戦のW杯休暇です^^

お礼日時:2010/06/25 12:58

あとは…


バッチ実行中にD:\tempのファイルが増えたり、削除しようとしたファイルが書き込み中でエラーになる?
とかかなぁ?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
D:\tempへの書き込み完了後に、このバッチを実施するので、読み書きは完全に別々です。

お礼日時:2010/06/25 12:56

Moveではなくて、CopyとDelでやってみたらどうでしょうか?



昔のことなので定かではないですが、パスが複雑だとMoveはあまりちゃんと動かないような記憶があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やはり考えることは同じで、copy & del のバッチファイル作って試してみましたが、
結果は同じです。
更なるアドバイスお願いします。

お礼日時:2010/06/22 22:28

メモリ不足ではないかと思いますが、差しさわりがなければ


config.sysとautoexec.batもしくはコンベンショナルメモリの空き具合を教えていただければと思います。
ハングアップはEMSメモリドライバの不具合で私もよくなっておりました。
UMBに退避しすぎてハングアップですね。

解決にはならないかもしれませんが参考までにどうぞ。

この回答への補足

回答ありがとうございます。
config.sys autoexec.bat memの結果です。
これでコンベンショナルを解放できますか?ここらに疎いもので....
なお、これらで起動後、一旦windowsから抜けて、memmaker実行したら、ブルー画面で固まります。

---<config.sys>----------------------------------
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH,UMB
DEVICE=C:\DOS\EMM386.EXE /x=D000-D100 x=e000-EFFF
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\BILING.SYS
DEVICE=C:\DOS\JFONT.SYS /P=C:\DOS\
DEVICE=C:\DOS\JDISP.SYS
DEVICE=C:\DOS\JKEYB.SYS /106 C:\DOS\JKEYBRD.SYS
FILES=30
STACKS=9,256
device=C:\EPCONNEC\busmgr.sys
DEVICE=C:\EZSCSI50\ASPI2DOS.SYS /D /Z
DEVICE=C:\EZSCSI50\ASPIDISK.SYS /D
rem Added by PC/TCP Ver6.0 Install Program
DEVICE=C:\PCTCP\PROTMAN.DOS /I:C:\PCTCP
DEVICE=C:\PCTCP\LAISA.DOS
DEVICE=C:\PCTCP\dis_pkt.gup
-------------------------------------------------
----<autoexec.bat>-------------------------------------------
C:\WINDOWS\VGAUTIL\clmode.exe t640=75 t800=56 t1024=87 t1280=87
C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
SET PATH=C:\WINDOWS;C:\DOS;C:\EPCONNEC
SET EPCONNECT=C:\EPCONNEC
SET TEMP=C:\DOS
C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
C:\DOS\CHEV.COM JP
SET LIB=C:\EPCONNEC\LIB
SET INCLUDE=C:\EPCONNEC\INCLUDE
PATH=C:\PCTCP;%PATH%
SET PCTCP=C:\PCTCP\PCTCP.INI
netbind
ethdrv
win
-------------------------------------------------------------
-----<mem結果>-------------------------------------------------
メモリの種類 合計 = 使用 + 空き
---------------- ------- ------- -------
コンベンショナル 640K 233K 407K
上位 82K 82K 0K
予約済み 384K 384K 0K
XMS メモリ 31,662K 30,638K 1,024K
---------------- ------- ------- -------
全メモリ 32,768K 31,337K 1,431K

全 1MB 以下メモリ 722K 315K 407K

最大実行可能プログラムサイズ 407K (417,056 バイト)
最大空き上位メモリブロック 0K (0 バイト)
MS-DOS はハイメモリ領域に常駐しています.
---------------------------------------------------------------

補足日時:2010/06/22 22:27
    • good
    • 0

当たるかどうかはわかりません。



最後にexitを入れてみては?
あと。。
move△d:\temp\*.*△c:\trans\.の最後の.は何ですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
exitはつけてもかわりありませんでした。

>最後の.は何ですか?
名前を変えずにムーブの意味です。
copyコマンドも
copy△aaa.txt△\folder\.
ってすると名前を変えずにカレントディレクトリのaaa.txtを\folderフォルダにコピーします。
なくてもいいんですけどね。

あれ?これって、unixでの話だっけ?(自問)

お礼日時:2010/06/22 22:23

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