DOSでプログラミング ..
[2ch|▼Menu]
655:デフォルトの名無しさん
06/10/09 23:30:20
>>639
DOS窓はDOSじゃないなんてつまんないこと言ってるから
ハード叩くのはDOSの範疇じゃないだろ、という
至極原理的な反応返されただけの話。

それとも、ハード叩かないのはDOSプログラミングではない
とでも言うつもりか?

656:デフォルトの名無しさん
06/10/09 23:52:10
一人しか言ってないのに、すべてが自分の対極とはどんな思考回路だ?

657:デフォルトの名無しさん
06/10/10 00:00:21
別にDOS上でハードに直接アクセスするのはDOSプログラミングの範疇だと思うが。

658:デフォルトの名無しさん
06/10/10 00:36:35
>>656
漏れもその一人しか相手してないつもりだが
そう読めなかったなら書き込み不足だな、申し訳ない

>>657
もちろんその通り
同じようにWin上のDOS窓だってDOSプログラミングの範疇だ
>>630に反論してるだけ

659:デフォルトの名無しさん
06/10/10 01:05:03
暇なのか?
>>630は書き込んでねーだろ

660:デフォルトの名無しさん
06/10/10 01:52:51
よーするに、ターゲットがDOS上で動くなら開発環境は
実機だろうがDOS窓だろうがエミュだろうがなんだっていいんじゃないの
ってことだろ。

つまらんことを何時までもグダグダと反論してるなよ。

661:デフォルトの名無しさん
06/10/10 03:30:48
これだから今時のDOS使いは・・・

662:デフォルトの名無しさん
06/10/10 05:30:33
VC++6でコンソールアプリケーションを作って
コマンドプロンプトやそれを全画面にして動かすのは出来たのですが
DOSをフロッピーから起動したところで実行すると変なエラーが出て
(スタブが云々)実行されません。どうすればよいのでしょうか?


663:デフォルトの名無しさん
06/10/10 05:31:35
あ、言い忘れましたが、WindowsAPIは一切使っていません。
DOSのシステムコールだけで作っています。


664:デフォルトの名無しさん
06/10/10 05:55:35
DOS用のコンパイラで作る

665:デフォルトの名無しさん
06/10/10 19:08:52
VC++6はWindowsアプリケーションしか作れない。
コンソールアプリケーションだって、Windowsアプリケーションの内。

663のいうDOSのシステムコールとは何なのか気になる。
想像は付かなくもないが。

666:デフォルトの名無しさん
06/10/10 23:06:55
Windows用のコンパイラ使うとたとえコンソールアプリケーションでも
出来る実行ファイルはNE(Win3.1まで)ないしPE(NT系およびWin95以降)。

ついでに言うなら裏でWinMainだって動いてるしCの標準関数もMSVCRT.DLL等の
DLLを呼び出して実現しているわけで。
裏でWindowsAPIが使われているのだから純粋なDOS上では動きません。

MS-DOSのシステムコールはINT20h〜27h,拡張用は2Fh。
指定レジスタにパラメータ入れて呼び出し。
BIOS,ハードウェアへの直接アクセスの制限もないから
直接叩いたほうが早いこともあるけどね。

・・・・・・・って言って理解できればいいけどね。

667:デフォルトの名無しさん
06/10/10 23:23:49
そこでなぜか、「WindowsアプリケーションからINT 21hを読んだがうまくいかない」という方向へ↓

668:デフォルトの名無しさん
06/10/11 00:04:47
win16なら使えるがな

669:デフォルトの名無しさん
06/10/11 00:27:08
Win32でも使う裏技がある。といってもWin9xだけだが。

670:デフォルトの名無しさん
06/10/11 20:45:06
>669
そーゆーことするから2kやxpで動かないソフトが続出して困るんだよね。

671:デフォルトの名無しさん
06/10/11 23:30:08
>>670
いや、それだけはありえないから。あの裏技、マイナーすぎ。

672:デフォルトの名無しさん
06/10/12 02:40:16
自演乙

673:デフォルトの名無しさん
06/10/12 07:01:42
自演乙乙

674:デフォルトの名無しさん
06/10/12 11:34:43
>>668
win16だとリアルモード以外は286のプロテクトモードか286ディスクプリタで動いていたと覚えているが
どういう仕掛けでint xx系のソフト割り込みが使えていたんだろう。

675:デフォルトの名無しさん
06/10/12 15:36:29
DOSエクステンダでぐぐってみ

676:デフォルトの名無しさん
06/10/12 20:39:46
つーかWin16はint 21h使うのが前提だったから
ファイルアクセス系のAPIがちゃんとそろってなかった

677:デフォルトの名無しさん
06/10/13 01:30:08
呼ばれるたびにCPUリセットしていたらしいが


678:デフォルトの名無しさん
06/10/13 01:31:24
だって、リセット以外にRealモードに移行する手段がないんですもの。

679:デフォルトの名無しさん
06/10/13 06:22:56
それは286の話。386以降では仮想86モードでリアルモードコードを実行していた。

680:デフォルトの名無しさん
06/10/13 06:53:57
メモリ4Mくらいの386マシンで
一度プロテクトモードに移行してから
セグメントのリミットを4Gに設定してリアルモードに戻り
16bitコードで全領域にアクセスして、なんとなく偉くなった気分になってたな。

仮想86モードでは使えないし、あまり意義はなかったんだけど。

681:デフォルトの名無しさん
06/10/13 07:15:42
面白いと思うよ。

682:デフォルトの名無しさん
06/10/14 00:03:47
壁があることには変わりない

683:デフォルトの名無しさん
06/10/14 05:51:24
そりゃ今でこそ4GBも「壁」として認識されだしたけど

684:デフォルトの名無しさん
06/10/14 06:50:04
DOSの頃作られたlhaやzipはほとんど2G/4Gで壊れる死ね

685:デフォルトの名無しさん
06/10/14 08:37:57
そもそもDOSって4GB超のファイル対応してたっけ?

686:デフォルトの名無しさん
06/10/14 09:58:50
>>685 「そもそもDOS」ってどこのOSなんだろう。

687:デフォルトの名無しさん
06/10/14 09:58:59
>>685
対応していない。おそらく存在できない。

DOSでアクセスできるFAT16はパーティションサイズが最大2GiBまで。
FAT32も1ファイル4GiBまで。

688:デフォルトの名無しさん
06/10/14 13:41:33
>>666
int86位知っとるわバーカ

689:デフォルトの名無しさん
06/10/14 22:03:51
あの... int 21h とか、int86 とかって、何ですか?
ググったり、ヤフったりするのは嫌いなんで、
ウィキペディアったんですけど、わかりませんでしたorz...


690:デフォルトの名無しさん
06/10/14 22:38:10
int86はMS-DOS用C処理系で使える関数のひとつ
書式:
#include <dos.h>
int int86(int intno,union REGS *in,union REGS *out);

LSI-C86試食版でも使えるからそっちのマニュアル参照。
URLリンク(www.vector.co.jp)

int 21hはMS-DOSのファンクションコール呼び出すときの割る込み番号(アセンブラ表記)
こっちはMS-DOSプログラミングを勉強して来いとしか言えない。

691:デフォルトの名無しさん
06/10/14 23:06:57
ここは、古参のパソ通を彷彿とさせる素直な人が多いから好きだけど、
たまにバカが混じるから困るんだなコレが。

検索で調べる作業さえ嫌うバカの>>689にそんな説明しても、
わかる訳無いよ(wwwwww

>>689へ。勉強する近道はググることだ。覚えておけ。
昔と比べて、どれだけ調べ物が効率的になったか気づいてくれ。

そして、Web上にドキュメントを作成した先駆者に
感謝の気持ちも忘れないようにな。


692:デフォルトの名無しさん
06/10/14 23:27:14
ウィキペディアで一番近い内容と言ったらこれかな。
URLリンク(en.wikipedia.org)

693:デフォルトの名無しさん
06/10/14 23:36:11
>>689
そこはウィキペディアしか調べてなくてもウィキるって言わないと

694:デフォルトの名無しさん
06/10/15 00:05:54
ウィキているということー

695:デフォルトの名無しさん
06/10/15 00:12:41
Ralf Brown's Interrupt List
URLリンク(www.ctyme.com)

696:デフォルトの名無しさん
06/10/15 22:35:03
Interrupt ListもWebで鑑賞できる時代になったか。
PC-9800関係の割り込みは当然ながら載ってないけど。

697:デフォルトの名無しさん
06/10/15 23:57:08
かなり昔からあった覚えがあるが

698:デフォルトの名無しさん
06/10/16 05:37:16
          ,,,.. ‐‐ ...,,,
       ,..::':.,:.:.:.:.:.:.:.:.:.:.:.:=.:=.、
     ,/.:.:.:/:.;.;.;.、.:.、:.:.:.、:.:.:.‐:.‐`、ヽ::ヽ,
    ./.:.:.ミ/""" ヽ:.:、:.:.:、:、.:.:.:.:.:.:i !..ヽ:.;、
.    /i:/"      ヽ:ヾ:.:ヽ:、;;:.:.:.:|  ヽ:.:.i
   / |:i |         >、ヽ:.、ゝッ.:.:|   ヽ:l
.  / |::| l      /,,,=.-、\:/z;.:+‐T ̄.:.:|      / ̄\
 /  l:.l.----     "{;;;;'..} ヽ /r.= 、j.:.:.:.:.:.|     |      |
 `ー-..l:.l /,=、      `ー.'   i/|ト` }|:.:.:.:.:.:i!    |  わ  |
  |.:.:.:ト」. i !;:::'j      "".  ! |- ノ L|:.:.:.:.i!    |  ざ  .|
  |.:.:.:.|ヽ{ヽ`´  '           /".   |:.:.:.:|i!  ∠.  と  .|
  |.:.:.:.i!  ヽ"          ,.'      |:i:.:.:|i!.   |  !  |
  |.:.:.:|i!  ヽ、   (_.)   ,/>‐‐‐ 、 .|:i!.:.:|l..   |      |
  |:|:.:.| i    ` ー-- 一 /   /-、リ.|.:.|.i.    \_/
  i:il:.:| i      /<' 、    // `t.|.:l |
.  l!i:.:| i     ゝへ.ヽソ\_///    `|;!
   ! i:.|      / ヽ〈::`::〉、   V /   ヽ



699:デフォルトの名無しさん
06/10/16 05:40:46
Interrupt ListってPC98のBIOSも何故か微妙に乗ってた記憶があるがw

700:デフォルトの名無しさん
06/10/16 08:02:23
int 10h

701:デフォルトの名無しさん
06/10/16 19:04:20
V!G!A!
V!G!A!

702:デフォルトの名無しさん
06/10/16 22:23:33
いや、ここはあえてDCGAで

703:デフォルトの名無しさん
06/10/16 22:34:54
9801

704:デフォルトの名無しさん
06/10/16 22:57:23
ウィキるのにつかれました... orz
つってきます.. さようなら...


705:デフォルトの名無しさん
06/10/19 06:13:36
キャラジェネ

706:net time
06/10/19 22:10:56
コマンドに"net time"時刻同期のコマンドがあるのですが、1度コマンドを実行すると10秒ほど経たないと次の"net time"コマンドが飛ばないようなのですが、すぐに2回目のコマンドを飛ばすことはできないのでしょうか?
ご教授願います。

707:デフォルトの名無しさん
06/10/19 22:16:49
>>706
NET TIMEってLAN MANAGERのことならなんとか範疇かもしれない。
COMMAND PROMPTの使い方はすれ違い。

708:デフォルトの名無しさん
06/10/25 11:50:40
今、98Emu(np2.exe)+LSI-C86試食版で
テキスト表示のゲーム作ってるんですが、
画面下部に表示されているファンクションキー表示と、
カーソルの点滅を消す方法って、どうすれば良いんでしょうか。

ゲームは動いてるんですけど、カーソルはちかちかしてるし、
ファンクションキーは使わないのに表示が残っているしで、
なんか格好悪いんです。
どなたか教えてください。

709:デフォルトの名無しさん
06/10/25 13:03:13
>708
LSI-C86を使ったことがないからわからんけど
TurboCではconio.hに_setcursortypeってのがあって
NOCURSORだっけかな?を指定するとカーソルを表示しなくなる、てのがあった。はず。
参考にはならんかな・・・

710:デフォルトの名無しさん
06/10/25 14:18:12
これで大体足りるでしょ
URLリンク(www.google.co.jp)

711:デフォルトの名無しさん
06/10/25 16:30:32
>>709-710
ありがとうございます。
エスケープシーケンスで解決できました。
割と単純な方法で済んでほっとしました…。w

712:デフォルトの名無しさん
06/12/01 12:31:45
net sendコマンドを使用して
コンピュータ名とメッセージ内容の
入力を求め、その内容で送信するようなものを
作りたいのですがどうすればいいんでしょうか?

713:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I
06/12/02 17:59:03 BE:136177193-2BP(1000)
>>712
気合いで結合してsystemに入れてみる

714:デフォルトの名無しさん
06/12/02 18:13:43
>>498
>>ぴゅあさん
classpath何とか解決できました!!コンパイルもできました!!!
本当にありがとうございました!

715:デフォルトの名無しさん
07/01/21 11:47:46
XPのコマンドプロンプトから壁紙を変更する方法を
教えてください


716:デフォルトの名無しさん
07/01/21 11:57:08
changerootwindow.reg
というファイルを作る

717:デフォルトの名無しさん
07/01/21 12:00:24
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper
\\HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper


718:デフォルトの名無しさん
07/01/21 12:39:06
レスありがとうございます

DOS窓で
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper a.bmp
とするとネットワークパスが見つかりませんとでます

WinXPがDドライブだからでしょうか?


719:デフォルトの名無しさん
07/01/21 13:57:30
>>718
| 何について調べますか?
| ┌──────┐
| |レジストリとは          |
| |                  |
| └──────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`─────┐ ┌──
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ


720:デフォルトの名無しさん
07/01/21 14:00:00
\\HKEY_何たらで始まっている時点でレジストリキーのパスだって事に気づかないと。

regeditのコマンドラインからの使い方を知らないことには・・・

721:デフォルトの名無しさん
07/01/21 15:52:32
そもそもスレ違いだ。

722:デフォルトの名無しさん
07/01/21 16:23:41
>>715です
>>721 スレ誘導お願いします


723:デフォルトの名無しさん
07/01/21 16:27:56
>>722
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板)l50

724:デフォルトの名無しさん
07/02/03 21:38:08
何でレジストリが\\HKEYから始まるわけ?

725:365
07/02/07 12:14:03
DOSで あるプログラムを、a.exe "引数パス指定" と起動しているのですが、
引数パス部分に空白が混じっていると、引数が2個と判定されうまく動きません。
空白が混じっている引数パスを一個のものとして認識させるには、
どうすればいいでしょうか?

726:デフォルトの名無しさん
07/02/07 12:26:29
>>725
a.exe の仕様によって異なる。


727:デフォルトの名無しさん
07/02/07 16:12:31
>>725
a.exe が本当にDOSならばパスに空白が入ることはない。

a.exe C:\DOCUME~1\HOGE\MYDOCU~1\ABCDE~1.TXT


728:デフォルトの名無しさん
07/03/15 22:55:25
古いけど
はじめて読むシリーズは最高にわかりやすくてよい

729:団塊親父
07/03/21 13:24:38
プロフェショナルの皆様、教えて下され
PC9821+MS-DOS6.2-Mind(Forth風言語)+MASMで
機嫌良くデジタルIOボードを使いロジックアナライザやプリント基板CADとかのアプリを作って遊んでおった
やっぱり640×400dotのグラフィックが苦しくて、環境移行を考えWindowsのVBとかVCとか触ってみたんだが
何かDOSより退化している気がした、WebもNETもマルチタスクも要らないとしたらDOSがマシなのでは
 例えば10msのタイマを作ろうとしてもダメだった、
 ハードも直接叩けないらしい。
 VBのピクチャボックスではスクロールすらできないようだしN88BASICより貧弱と思った
「何じゃこりゃ」という感じだった。

この感想は当っていますか?
現在PC/AT用のDOSは売られていますか?、探したけれど見つからなかった
Windowsでも腕を磨けばDOS以上のことができる?
Windowsでは無理、他のお勧めOSはありますか?
良き指針をお願いいたします。


730:デフォルトの名無しさん
07/03/21 13:28:08
URLリンク(www.amazon.co.jp)

731:デフォルトの名無しさん
07/03/21 13:51:06
ハードを直接叩けないのは必然的な進化の方向性。
Windowsの上でWindowsアプリケーションが、
PC-98版でもPC/AT版でも、今で言えばx86でもx64 (WOW64)でも
共通のバイナリで動くようにするため、
またそれよりなによりマルチタスクを実現するに当たって
現実的な解は(少なくとも当時)それくらいしかなかった。

そもそも理想的にはソフトウェアはハードウェアのことを意識するべきではないというのが
大昔からソフトウェアに関わる学者・研究者に根底に存在する風潮。
最近のコンピュータの性能向上でようやくWindows並に
ハードウェアを隠しても性能的に問題なくなってきたというところ。

732:デフォルトの名無しさん
07/03/21 13:54:06
>>729
今でもデジタルI/Oボードを出しているメーカではドライバとライブラリを出している。
しかも大抵はドライバやライブラリは愚かサンプルプログラムも無料で。
従って、適当なボードと適切なライブラリを組み合わせればハードを直接叩くようなことも何ら問題ない。
リアルタイム所為はまぁ、工夫のしどころではあるが。

733:団塊親父
07/03/21 23:09:13
皆様レスありがと。
>>730さん
  DOSもCも売ってるんですね、買って遊んでみようと思います。
   果して自分のWin-XPマシンで動作するのか?
   最近のWinマシンはPC/AT互換機なのか?
   そしてグラフィックスはどうやって書くのか?
  興味津々です。
>>731さん
  なるほどね、やっぱ普及時代から成熟期に入るとブラックボックス化してしまうんですね、
  趣味的には面白く無いのでWinodwsには手を出すまいと思います。
  何かオーディオの世界が、球から石へレコードからCDへ変って興味が無くなったのと似てます。
>>732さん
 確かにくぐるといろんなドライバがありました。
 ただ「ソフトクロックは±200%も振れるので使わないように」と注意書がありました。
 昔はNOPを勘定してれば良かったのですが、
 結論としてはWin環境でリアルタイムサンプリンクするならば、外部からクロックを与える必要が有りそうです。
 それとて、クロックは正確でも取込み処理のオーバーヘッドがものすごく
 デバイスドライバ→DLL→変数→保存という処理に何μSかかるか誰にも解らないとのこと
 参考になるスレが有ったらご紹介下さい。  

734:デフォルトの名無しさん
07/03/21 23:40:26
リアルタイムで何かやるなら、それ専用のサブプロセッサ(とバッファ)用意するのが
最近の流れじゃないの。PC(Windows)側のレイテンシはそんなにシビアに要求しない。

735:デフォルトの名無しさん
07/03/21 23:51:30
そうだね。
パソコンをクロック測るためだけに使うのってもったいない。

736:デフォルトの名無しさん
07/03/22 00:31:18
計測とかだと、今はPICなんかで独立基盤に実装して
シリアル-USBでデータだけパソコンに取り込む形が一番手軽なんじゃないかな

最近のPCじゃ手軽に使える汎用I/O自体なくなってるから
最低でもPCIなI./Oボード調達しなきゃならない
OSもリアルタイム向きとはいえないし


737:デフォルトの名無しさん
07/05/04 15:52:45
>>733
>果して自分のWin-XPマシンで動作するのか?
作成したDOSアプリは「コマンド プロンプト
(DOS窓)」で動作しますが、やっぱり
メモリ、I/O、割り込み、DMAには直接
アクセスすることはできません。
>最近のWinマシンはPC/AT互換機なのか?
OADGの発展系と言ってよいと思います。
目について違うところはIRQ16以上が
あることでしょうか?
>そしてグラフィックスはどうやって書くのか?
Win32 APIかDirectDrawを使用することに
なると思いますが、面倒そうです。
サードパーティ製の便利ライブラリがあるかも
知れません。

タイミングにシビアな計測等はハードウェア側で
完結させてしまうというのが当然のような流れに
なってますね。
A/Dなら自前のタイマ、でかいFIFOが必要なので
CPLDでは足りなくて、結局FPGAになっちゃったり
しますね。

738:デフォルトの名無しさん
07/05/04 17:19:43
ATバスの無いAT互換機なんて・・・

739:デフォルトの名無しさん
07/05/05 13:05:34
ATバスってISAのこと?

740:デフォルトの名無しさん
07/05/05 14:06:33
元々はね。
ATバスをIEEEが規格化したのがISAバス。正確にはEISAが制定されたときに一緒に付けられたらしい。
Wikipedia項目リンク

その前にXTバスってのがあって、その上位互換がATバス。

>738
ちなみにレガシーデバイスは今でも見かけ上ISAバス経由ということになっている。
最低限のポート、メモリ領域、IRQ 、DMAの割り当ては昔からそのまま。これをもってAT互換機って事にしてるみたいだから。
もっとも今はIA(インテルアーキテクチャ)-PCとでも言いたくなる代物だけど。

741:デフォルトの名無しさん
07/05/08 12:22:59
そうか、XTバスのことを考えるとISAって呼ぶより
ATバスって呼んだほうが自然だね

742:デフォルトの名無しさん
07/05/18 00:34:22
ポワーシェルは放置?

743:デフォルトの名無しさん
07/05/18 23:13:53
DOSでは動かんからな

744:デフォルトの名無しさん
07/05/30 00:31:02
なあ、前から疑問なんだけどフラットに32bitアドレス空間をアクセス可能な
プロテクトモードをサポートした、かつハードウェアを直接叩く事ができる
(仮想86モードで?)DOS上位互換なOS(DOS?)ってあり得ないのかな?
DOSエクステンダではなくて。

それともそんなものを誰も作ってくれないだけ?


745:744
07/05/30 01:32:17
I/O処理はEFIを呼び出せたり、Windows用のデバイス・ドライバを登録して
使用(流用)できたりしたら最高なんだが。
なおかつI/Oの直叩きもできる、と言うのは矛盾があるだろうか?

746:デフォルトの名無しさん
07/05/30 01:45:27
>>744
つ FreeDOS-32

747:デフォルトの名無しさん
07/05/30 06:00:30
>>744
Mona

748:デフォルトの名無しさん
07/05/30 16:34:32
WindowsのDPMIは、Windows 3.x-9xのデバイスドライバ (VxD)が呼べたと思う
実質DOSエクステンダだけどね
それに、IOだって直叩きしても実際にはVxDが割り込んで処理するし

749:デフォルトの名無しさん
07/05/31 22:49:03
Towns

750:デフォルトの名無しさん
07/05/31 22:53:13
>>749
なにそのDOSエクステンダ

751:デフォルトの名無しさん
07/06/07 23:28:27
ab123.jpgというファイルでabを900と書き換えて900123.jpg
とする方法を教えてください。
ren ab*.jpg 900*.jpg とすると90023となり全体が5桁になり
900123になりません。

よろしくお願いします。

752:デフォルトの名無しさん
07/06/07 23:50:06
>>744
いまどきシングルタスクなんて…

マルチスレッドだとハード叩くと危険。

753:デフォルトの名無しさん
07/06/08 00:19:26
>751
そのまま維持したい部分(”123”)を
 "*"じゃなくて文字数分の"?"で表せば良いんじゃなかったっけ?
>752
だからハードを直叩きするにはシングルタスクにするしかないだろ?
そうすれば全部ひとつのアプリが管理するから余計な事を考える必要が無くて
自分が使う単機能なソフトを書くには楽なんだよ。

754:デフォルトの名無しさん
07/06/08 00:32:29
>>753
OSいるの?

755:デフォルトの名無しさん
07/06/08 00:46:45
>>753
セクタ0のIPLからアセンブリコード書けば解決じゃね?


756:デフォルトの名無しさん
07/06/08 01:36:17
>754-755
セルフ開発環境どころからローダーすらなしかいw?

757:デフォルトの名無しさん
07/06/08 07:32:57
>753
????で合わせても全体の文字数をrenが
一致させてしまうのでうまく行きません。

5桁から6桁にする方法が分からないのですが。

758:753
07/06/08 12:44:54
>757
どうもDOSのRenameコマンドのワイルドカード表現には文字数による奇妙な制約があるみたい。
そういう場合、私は良くDIRコマンドの出力をリダイレクトするなどしてファイルに落とし、
エディターで1ファイルずつリネームするコマンドを並べたバッチファイルを作成します。
名前を変更したいファイルが何千件もあるとかなり大変ですが。

後は専用ユーティリティソフトを使うか自分でコードを書くしか無いような。
REXXのような正規表現を扱えるスクリプト言語が手近にあると便利です。

759:デフォルトの名無しさん
07/06/08 13:00:33
下手に実行してファイル失ったこと数知れず

760:デフォルトの名無しさん
07/06/08 13:25:17
>759
それが心配なら先に別のディレクトリなどへバックアップコピーを作っておけばよい。
また、いきなり本番を実行しないでまずは少数の失っても良いファイルに対する
バッチorコマンドを作成して試しておく。

Renコマンド自体、もし変更後の名前が既にあるファイル名と衝突すると
エラーで止まるのでそう危険じゃないし。

761:デフォルトの名無しさん
07/06/08 14:12:19
一番いいのは 無償のVirtual-PCを入れる事だと思うな
URLリンク(www.microsoft.com)

762:デフォルトの名無しさん
07/06/08 18:14:43
>761
意味が良く分からんが例えばXPが動作するPC上にVirtual-PCを導入して
その上でDOSを走らせておいてゴニョゴニョやると言うような事かな?

そうするとその仮想マシン上のDOSからアクセスできるハードディスク
エリアに目的のファイル(のコピー?)を全て持ってくる必要があるな。

763:デフォルトの名無しさん
07/06/08 19:34:21
出来ればWin95を持っているといいんだけど、
そうじゃないと面倒かも

まあFDD付いてるパソコンならいいんだけど、最近FDD無いPCもあるから、その場合、
virtual-PCにDR-DOSなんかを入れるにも、まずVFDを作らないといけないのだけど
それを作るにも、まずはDOSが必要というジレンマ。


764:デフォルトの名無しさん
07/06/08 20:49:56
>>763
つ [FreeDOSのISOイメージ]

765:デフォルトの名無しさん
07/06/08 21:10:12
>>763
つ [FreeDOS/V珠洲版]


>>764さんの FreeDOSのISOイメージでCDブートした場合は仮想HDDを用意して
それにインストールする事になるけど

これは 解凍したら .IMG が出来るんで、VirtualPCの仮想FDでそのまま起動可能になる

766:デフォルトの名無しさん
07/06/10 00:11:31
FreeDOS 1.0 のインストールCDもLiveCDになってるからISOイメージ読ませるだけで使えるぞ。

まあ所詮DOSだからHDDにインストールしても最初に1回手間が掛かるだけでそんなに容量食わないけどな。
OpenWatcomやnasmなどの開発ツールも含まれてるし。

767:デフォルトの名無しさん
07/06/17 08:53:00
XPに標準で入っているコマンドプロンプトで、whichやwhereにあたるコマンドは
なんになるのでしょう?

768:デフォルトの名無しさん
07/06/17 09:37:55
ファイル郡に対して処理出来る FOR
ファイル内容に対して処理出来る FOR はあるけど
プログラムの制御命令としてはGOTO しかないさ

769:デフォルトの名無しさん
07/06/17 18:09:36
>767
whichはないんじゃないかな。
whereはdir /sで代用。

770:デフォルトの名無しさん
07/06/17 20:27:31
>>769
dir /s か。知らんかったんで勉強になった。
でもやっぱwhich/whereは作るしかないか。

771:デフォルトの名無しさん
07/06/23 05:31:08
cygwin入れてcygwin\binにパス通しておけば各種コマンド使い放題になるよ。

772:デフォルトの名無しさん
07/06/23 05:37:37
いいかげんバージョン
mywhich.bat
@%comspec% /e:on /c echo "%~$PATH:1"

> mywhich explorer.exe
"C:\WINDOWS\explorer.exe"

> mywhich explorer
""

773:デフォルトの名無しさん
07/07/08 08:52:41
下記のような事がしたいのですが.batかjperlかkermitで可能な方法は無いでしょうか

loop
Escキーが押されたら終了
aキーが押されたら 処理1 0.3秒ポーズ 処理2 loopへ
Aキーが押されたら 処理2 0.5秒ポーズ 処理3 loopへ
PgUpキーが押されたら 処理4 loopへ
HOMEキーが押されたら 処理5 loopへ

774:773
07/07/24 07:45:55
DOSバッチでbu使ったらあっさりできました
レスポンスに多少問題有るので今度はQBASICかLSI-C86あたりでやってみます


775:は@c178.016.c3-net.ne.jp ◆cplnFO9T0I
07/08/06 00:17:53 BE:50436825-2BP(1000)
master.libって結構色々と入っているのな。
BFNTのsuper_putぐらいしていなかったから驚いた。

776:デフォルトの名無しさん
07/08/08 18:17:55
純粋に32bitのDOSってあるの?

777:デフォルトの名無しさん
07/08/08 19:44:53
nai

778:デフォルトの名無しさん
07/08/09 01:54:27
Disk Operating Systemとしてなら窓含め腐るほどあるじゃん

779:デフォルトの名無しさん
07/08/09 11:19:58
ありがと。
じゃ、UNIXのCUIに行くわ。

780:は@c178.016.c3-net.ne.jp ◆cplnFO9T0I
07/08/27 17:47:08 BE:60523362-2BP(1000)
98のアナログパレットってひっちゃかめっちゃかにかき回しておk?
CEDITでBFNTフォーマットの画像をいじっているとそうは感じられなくて....

781:デフォルトの名無しさん
07/08/29 11:46:57
よく意味わからんけど、何out しても大乗V

782:デフォルトの名無しさん
07/08/29 21:06:22
つ 常駐パレット

783:デフォルトの名無しさん
07/09/04 23:23:04
com形式のプログラムの開始位置アドレスが100hからなのは
DOSが生のアドレスを扱っていて、0h〜077hまでに
DOS側ですでに割り込みテーブルなどがしかれているからですか?

784:デフォルトの名無しさん
07/09/04 23:31:55
>>783
CP/Mとの互換性のため。

8086の割り込みベクタ・テーブルは0000:0000から。
いくらDOSでもそんなメモリの先頭付近にユーザープログラムを
配置したりはしない。

785:デフォルトの名無しさん
07/09/04 23:43:52
>>784
即レスありがとうございました
先頭64バイト程度の犠牲なら互換性を取る価値があったってことですか、なるほど
よく考えなくても100hはオフセットアドレスの話でしたね…

786:デフォルトの名無しさん
07/09/04 23:54:57
256バイトでしたorz

787:デフォルトの名無しさん
07/09/05 00:15:50
>>786
0x80からはコマンドラインで使っている。だから、256バイト丸々無駄にしているわけではない。

788:デフォルトの名無しさん
07/09/05 00:48:41
>>787
あ、80hにコマンドラインの引数を格納してたのは決まりごとだったんですね
度々ありがとうございます

789:787
07/09/05 00:53:50
>度々ありがとうございます
いや、私が書いたのは>787だけ。

790:デフォルトの名無しさん
07/09/05 01:01:17
先頭256バイトの内容
URLリンク(www5c.biglobe.ne.jp)

791:デフォルトの名無しさん
07/09/05 01:07:04
>>789
あ…早合点してましたすみません
>>790
とても分かりやすいです、ありがとうございます

792:デフォルトの名無しさん
07/09/07 07:59:01
    ORG 100H
:START

793:デフォルトの名無しさん
07/09/10 12:07:30
DOS コマンドについて聞きたい事がありますが、
どこのスレが適当でしょうか・・・・

794:デフォルトの名無しさん
07/09/10 20:56:43
>>793
スレリンク(win板)l50

795:デフォルトの名無しさん
07/11/05 02:04:38
最近の若い人はDOSの使い方を知らない人が多過ぎます。
DOSのバッチを作成すれば仕事も自動化できるのに・・・・

新人研修でまずはDOSを使うことを教えるべきだよな。

796:デフォルトの名無しさん
07/11/05 02:26:28
>>795
その場合には、わざわざ DOS じゃなくても適当な shell がいいと思う

DOS はフルパワーで IO 処理させるのが好きだ

797:デフォルトの名無しさん
07/11/08 22:07:01
WSH覚えたらバッチなんて馬鹿らしくて使えない。
最近はPowerShellにどっぷり

798:デフォルトの名無しさん
07/11/09 00:43:24
DOSでWSHやPowerShellを使うとは凄いですな

799:デフォルトの名無しさん
07/11/09 18:53:06
教えてください。
いま、ffmpeg に付属してた ffplay.exe(動画再生)をDOSコマンドラインでいじってます。
それの起動オプションのヘルプを見るには、【 ffplay -h 】だとドキュメントにあったので
やってみても、何も表示しないんで、【 ffplay -h > help.txt 】とやったら、ファイルになって見れました。
それならってんで
【 ffplay -h > con 】なら出るかと思いきや、画面には出ませんでした。

ファイルで見れるから問題はないんですが、こういう場合画面に出す方法を知りたいんです。

800:デフォルトの名無しさん
07/11/09 20:03:55
知りたいですかそうですか。

801:デフォルトの名無しさん
07/11/09 22:14:45
cmdはdosじゃないから


802:799:
07/11/09 22:27:22
>>800
ぜひともw

803:799:
07/11/09 22:51:09
>>800 >>801
どうやら、場違いなスレッドに質問したようで、失礼しました。
コマンドライン関係のスレッドがありましたので、そっちへ行きます。

804:デフォルトの名無しさん
07/11/10 00:02:23
>>801

どっちでも、いいじゃん


805:デフォルトの名無しさん
07/11/10 00:37:33
cmdならスレ違いだと本人が気がついてるんだし。

806:デフォルトの名無しさん
07/11/15 08:12:45
Windowsでコマンドプロンプトが16bit DOSセッションへの
命令だったのは95(及び98&Me)までだったっけ?
Win3.1だけだったって事はないよな。

W2Kは確か、もう32bit環境でのコマンドラインだったはず。

807:デフォルトの名無しさん
07/11/15 18:44:32
XPになってもcommand.comのバージョンは MS-DOS 5.00 のままだな。

Meの最新バージョンを移植とかできないだろうか・・・

808:デフォルトの名無しさん
07/11/16 23:02:02
まあ、NT系ではDOSのファンクションコールから先はNTVDMのエミュレーションだし。

809:デフォルトの名無しさん
07/11/19 00:46:09
Win3.1のアプリはDOSのファンクションリクエスト使ってたよね。

スワップファイルだけは32bitアクセスだったっけ?

810:デフォルトの名無しさん
07/11/19 05:52:02
WindowsXPでちゃんと動いた。
DOSそれもCP/M互換ファンクション呼びまくり。

URLリンク(dn.codegear.com)


811:デフォルトの名無しさん
07/11/21 02:51:09
@C1メ0ニ5!@ア0(チヘ!テ

812:デフォルトの名無しさん
07/11/22 01:29:36
何?

813:デフォルトの名無しさん
07/11/22 03:19:35
NO SYSTEM FILES

814:デフォルトの名無しさん
07/11/23 13:13:45
>>810
超早そう。ソース書く前にビルド完了してそうだ。

815:デフォルトの名無しさん
07/12/04 22:24:36
教えていただけると助かります。

現在、Win95でDOSプログラム(粒子解析系)を動かしているのですが
なにぶん古いPCなので時間がかかります。

そこでこのプログラムをXPで実行できればかなり早くなるのではないかと思い
調べたところ、16Bitと32Bitの違いにより基本的にはXPじゃ無理で
仮想DOSマシン(VDM)上で起動すればできるかもしれないと書かれていました。
その手順通りにXP上で動かしてみたのですが、エラーで動きませんでした。

16Bitのプログラムを32Bitに変換するようなことって出来るのでしょうか?
それともXPで動かすのは無理なのでしょうか。






816:デフォルトの名無しさん
07/12/04 23:06:52
>>815
ソースからなら修正しまくって変換できるかもよ。

817:デフォルトの名無しさん
07/12/04 23:08:08
俺は詳しくないがコーディングによる
16bitと32bitでは、データ型のサイズが違ってくるので
その辺を意識すればどっちでも動くようにはできるかもしれない

818:デフォルトの名無しさん
07/12/04 23:50:16
>>816>>817
プログラム素人なうえ、そのプログラムもほかの人が作ったものなので
ソースがあるかわかりませんが、ありがとうございます!

それとVirtual-PC2004というものでWin95がエミュレートできる?(理解が間違ってるかもしれません)
ようなのですけど、そのエミュレートした95上でなら動かすことができるでしょうか。
やってみれば早い話ですね…ありがとうございました。

819:デフォルトの名無しさん
07/12/04 23:54:06
つーかDOSプログラムならXPが動いてるマシンをDOSで起動して動かせば
それなりに速くなるのでは。

820:デフォルトの名無しさん
07/12/04 23:58:10
>>818
再コンパイルの話(たとえ可能性だとしても)が無いところから見て、exeしかないんだろうな、多分。

そのプログラムのソースがあるならフリーでもいいからコンパイラを入手してリビルド。
C,C++はもちろんだが、Fortranなんかでも探せばあるだろ。

もし無くて、NTVDMでも弾かれてるなら仕方が無いからDOSで起動出来る環境を作れ。
VirtualPCとかでやっても遅くなるだけ(それでもマシかもしれないけど)だから純粋なDOS環境にしろ。

DOS起動用のシステム入りFDDはそういう指定でフォーマットすれば出来る(xp上からでも)
メモリとかの必要でconfig.sys弄るとなると知識要るけど。

もしPC-9800シリーズ専用とかだったら・・・手に負えん。ソフトの移植をできる人間に頼め。

821:デフォルトの名無しさん
07/12/05 00:26:20
>>819>>820
丁寧にありがとうございます。
おっしゃるとおり、exeしかないのでソースがあるのかどうか確認してみます。
あれば、コンパイラというものでできる可能性があるということですね!

XPでDOS起動フロッピーを作成すれば、それだけでDOS起動できるようになるのでしょうか。
メモリ、PC98専用等の問題は大丈夫なはずなので、やってみます。

本当に助かります!



822:デフォルトの名無しさん
07/12/05 02:48:34
>>815
おまえのPCのXPをアンインスコして
W98にするのが一番速いだろうね

823:デフォルトの名無しさん
07/12/05 03:35:37
>>815
古いPCに何入れても同じ。

824:デフォルトの名無しさん
07/12/16 18:45:36
213 不明なデバイスさん 2007/11/10(土) 14:07:06 ID:W3p2XVa0
>>210
HDDパスワードクラックって言うより
DOSでMBR(メンテナンスエリア)丸ごと書き換えの方法
URLリンク(trashbox.homeip.net)
ここの下のソフトがあればダンプしてバイナリエディタで見れそう
ロシア系サイトらしいけどなんてソフトなんだろ?

HDDパスワードについてググってたらHitしたんですが
上記のHPに紹介されてるようなDOSツールをご存知ないでしょうか?

古いThinkPad240のBIOSアップデート中にフリーズし電源切って立ち上げたら
本体とHDDにロックがかかっていました

本体のパスはURLリンク(sodoityourself.com)などを
参考にEPROMリーダーを自作し解除が出来たのですが
その解析したパスがなぜか内臓HDDには通らずロックがかかった状態です

ローレベルフォーマットしてもロックは解除できないようで
色々検索してtteditorなども試してみたんですが上手くいかず上記書きこみのDOSツールを探しています
詳しい方いらっしゃいましたら検索のヒントでも教えていただければ助かります
宜しくお願いいたします。

825: ◆0uxK91AxII
07/12/17 08:04:19
>>824
他人様が掛けたpasswordをcrackしたいのがミエミエの糞は、死んでおいた方が良いよ。

826:デフォルトの名無しさん
07/12/17 11:56:02
>>824
つatapwdぐらいしかシラネ
>>825
わかんないならわかりませんって正直に言えよwww


827:デフォルトの名無しさん
07/12/19 11:17:35
申し訳ございませんが教えてください

DOS画面で「〜」ってどうやって入力するのですか
windowsのプロンプトでは「〜」はShiftを押しながら「へ」で入力できるのに
dos画面でできなーいでこまっておりまする

どうしても入力が必要なコマンドがありまして
そこで滞っております

828:デフォルトの名無しさん
07/12/19 19:51:34
>827
あなたが入力したいのは半角の「チルダ」と言う記号だと思うが
なぜDOS画面(コマンドプロンプト?)で出ないのかは良く分からない。
キーボード種類がまっとうに認識されていたら可能なはずなんだが。

参考:URLリンク(allabout.co.jp)

829:デフォルトの名無しさん
07/12/19 21:57:49
>827
追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が
表示されていますか?(上に挙げた文字自体は半角ではなく全角オーバーラインですが)

もしそうならJISコードとASCIIコードにおける同じ文字コード(0x7E)に対する
表記の違いに過ぎないので(バックスラッシュと¥記号のような関係)気にせず
そのままコマンド入力してください。多分、意図した通りに動作すると思います。

参考:URLリンク(www.bugbearr.jp)
の「メモ」「US-ASCII と JIS X0201 ラテン文字用図形文字集合」の項参照

830:デフォルトの名無しさん
07/12/19 22:07:49
こういう問題もある。
URLリンク(support.microsoft.com)

831:デフォルトの名無しさん
07/12/20 06:55:01
CapsLockされてるとか

832:827
07/12/20 09:16:46
>>828-831
ご指導ありがとーございます

解決いたしました
> 追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が
でした

まだまだ修行が足りませぬ
精進いたします

改めて御礼申し上げます
それでは失礼いたします

833:デフォルトの名無しさん
07/12/30 10:02:32
win2000, lsi-c試食版を使ってます
USB接続MP3プレイヤーの再生順(ディレクトリエントリ順)を
変更したいと思い、少し調べてみました。
(UMSSortというソフトのコマンドライン版です)

intdos()でレジスタ設定してbdos()でシステムコール25h,26hを使えば
いけそうな気が…。

834:デフォルトの名無しさん
07/12/30 11:13:23
普通にシェルスクリプト(或いはバッチファイル)でできるレベルのことだろ。
そもそも、何故それをDOSでプログラミングしたいんだか。

835:デフォルトの名無しさん
07/12/30 11:45:48
>>834
ディレクトリエントリの順を変更がバッチファイルでできるの?

836:デフォルトの名無しさん
07/12/30 11:47:26
「エントリの順を」は「エントリ順の」の間違いです。すまん。
renやcopyでは駄目だったのは確認済みですが…。

837:デフォルトの名無しさん
07/12/30 12:36:32
>>833
int 25h/26hはFAT32には使えない。FAT32ならint 21h,ax=7305hになるが、
そもそもこいつらはWinNT系ではブロックされて使えない。

で、並べ替える簡単な方法は、ディレクトリ内のすべてのファイルを一旦一時ディレクトリに
移動してから、並べ替えたい順番で元のディレクトリに移動すること。

838:デフォルトの名無しさん
07/12/30 13:11:13
>>837
やっぱだめなのか…
win32APIとvisual basicあたりを使うのが無難ですかね

いったん別のところに移動して、ってのは考えてたけど
あまり頻繁にフラッシュメモリ上のファイルを移動するのは
どうかなと思ったのでやめました
なので、直接ディレクトリエントリを書き換える方法を模索してました

ほぼ毎日podcastを追加して、携帯MP3プレイヤーで聞こうかと。
使っているプレイヤーにランダム再生が無い(ディレクトリエントリ順に再生)ので、
PC側で操作するつもりでした。

いろいろ教えてくれてどうもありがとう。あとで本屋に行ってきます。

839:デフォルトの名無しさん
07/12/30 13:44:14
同じドライブ内の移動なら、DOSの頃からディレクトリエントリを書き換えるだけだぞ。
ディスク領域そのもののフラグメンテーションは起きない。

ちなみに、NT系で直接ディスクアクセスしたければ、
ドライブやディスクそのものをWin32のCreateFileで開けばいい。
普通にRead/WriteFileで読み書きできる。
当然スレ違いだけどな。



840:デフォルトの名無しさん
07/12/30 13:44:57
>>838
NT系で直接読み書きするには、CreateFile("\\\\.\\D:", 〜)などとして
ドライブをオープンし、ReadFile(), WriteFile()などを使う。
スレ違いなのでこの程度で。

841:デフォルトの名無しさん
07/12/30 13:50:22
>>839
そうなのか!って今思えば確かにそうだ・・・
なんか馬鹿でした。どうもありがとう。
途中までランダムにして移動させるバッチファイルは作ってあったので
(でもrenじゃ駄目だと分かって捨ててた)
それでやります!

>>840
直接はやっぱりwinでのプログラムですね。


いろいろ教えてもらえてよかったです。ありがとうございました。

842:デフォルトの名無しさん
07/12/30 13:59:08
最早どうでもいいんだけどさ、move使えばバッチファイルででもできるんだけどなぁ。

843:デフォルトの名無しさん
07/12/30 14:20:25
>>842
841です。そのつもりなんですが...

844:デフォルトの名無しさん
07/12/30 14:36:15
つーか、擬似シャッフルみたいなことをしたいのか。
だったらディレクトリを作ってそこに順番にcopyするだけじゃね。

845:デフォルトの名無しさん
07/12/30 14:46:34
>>844
そうです。擬似シャッフル。
copyすると時間もかかるしフラッシュメモリにも良く無さそうなので
教えてもらったとおりmoveで作りました

お世話になったかたがたへ
というわけで上手くいきました!ありがとうございました。

846:デフォルトの名無しさん
07/12/31 08:21:14
こんな年末に発生しなくても良かったんだけど('A`)
URLリンク(d.hatena.ne.jp)

これに書いてある「.logを参考に(A)を書き換える処理を(B)に追加」と
もう一つ「最期まで無事に走ったら終了」の処理を書いて頂けないでせうか

847:デフォルトの名無しさん
07/12/31 11:40:16
>>846
HDDは消耗品だ。ヤマダ電機行って新しいの買ってこい。

848:デフォルトの名無しさん
07/12/31 11:41:58
>>846 最期
(-人-)ナムー

849:デフォルトの名無しさん
08/01/01 04:02:04
アケオメd('∀`)b!
奇跡の復帰を果たしましたぜ!
ヤマダ行った後なんだけども…
お騒がせしました!

850:デフォルトの名無しさん
08/01/24 12:38:56
VFL, VFZ の構造が知りたいです。

vfl.docに書かれている
Nifty FLABO LIB 2 #1824 VFS .LZH VFL サンプルソース & 技術資料
って、今は昔過ぎてググっても見付かりません。

どこかこのファイルの入手方法はありますでしょうか


851:デフォルトの名無しさん
08/05/11 05:00:40
ホす

852:デフォルトの名無しさん
08/05/27 07:17:24
cat <in.txt >out.txt みたいなことできるdosのコマンドありませんか?
(winは全バージョン可能)

typeだとstdinからは無理っぽいんですが…
copy con out.txt とかひねくれたの思いついたんですけど、これはstdinじゃないです。
困ってるのでよろしくお願いします。

853:デフォルトの名無しさん
08/05/27 07:25:51
more < in.txt
とかいけそうなんですけど、やりたい事は標準入出力を使ったファイルのコピーなんです。
moreだと--MORE--とかゴミがつくので期待はずれになります。
できれば、テキストでなくてバイナリも標準入出力を通す(通過のみで処理しないフィルタコマンド)のありませんでしょうか。

854:デフォルトの名無しさん
08/05/27 07:32:12
findとか。

855:デフォルトの名無しさん
08/05/27 13:32:05
find,moreはテキストファイルはできるんですけど、バイナリでfind,moreすると転送先のファイルが壊れます。
試したらmoreでは上に書いたゴミはつきませんでした。
そのプログラムを自分で作れるんですけど、unixシェルの様にOS標準のを探してます。
他にないでしょうか。(特にバイナリ―ファイルの標準入力を受け付けるコマンド(フィルターとも言われます)です)


856:デフォルトの名無しさん
08/05/27 13:45:17
問題を整理しよう。
要は、標準入出力をスルーで流せる標準コマンドがないか、ということでよろしいか。
で、findもmoreも(改行を特殊処理するからか)出力が壊れると言うことだね。
findstrはどうだろう。今手元のcmd.exeからfindstr /v "^$" a.exe > fooしたら大丈夫なようだ。
# "^$"でいいかどうかは検討が必要だけどね。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5385日前に更新/220 KB
担当:undef