[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:39 / Filesize : 220 KB / Number-of Response : 953
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DOSでプログラミング



1 名前:デフォルトの名無しさん [03/03/07 10:45]
ハードウェアを直接叩くのはやっぱり楽しい!

DOSにおける開発について語りましょう。


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

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

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

854 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 07:32:12 ]
findとか。

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


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

857 名前:デフォルトの名無しさん [2008/05/27(火) 14:41:43 ]
やりたい事は、標準入力からファイルデータ(特にバイナリ)を入力するので、
もしそのコマンドなら、

findstr /v "^$" <a.exe > b.exe

とかです。が、失敗します。

858 名前:デフォルトの名無しさん [2008/05/27(火) 14:47:53 ]
テキストファイルのときは、
more <a.txt>b.txt
で出来ますが(実質copy /a a.txt b.txtと同じだけど意味が違う)

バイナリファイルだとこのコマンドでは出来ません。
若しくは玄人向けのdosコマンドレファレンスのサイトご存知ないでしょうか。

859 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 14:57:54 ]
CATくらい自作したらいいんじゃないかい。
DOSのパイプは中間ファイルを作るからあんまり面白くないけど。
Win9x系のパイプも中間ファイル式だったのにがっかりした記憶がある。

860 名前:デフォルトの名無しさん [2008/05/27(火) 15:19:31 ]
だから作れるんですけど…
findstrはstdinでリダイレクト入力使うとバグってる(仕様)みたいだから作りたくなるのは山々ですが



861 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:27:42 ]
技術力が高いスレで聞いてもいいんですけど。じゃ質問を少し変えると、
標準入力(リダイレクト < )を使ってテキスト・バイナリ・ファイルを作ることはで来ますか?
できれば、後はパイプでできるんで・・・


862 名前:デフォルトの名無しさん [2008/05/27(火) 15:29:43 ]
標準入力の内容をそのままのデータで、ローカル・ディスク上のファイルにすることは出来ますか?と同じです。

863 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:51:04 ]
DOSの仕様を回避するなら

type o.jpg | findstr ".*" > p.jpg

になるんですけど、まず、このo.jpg(バイナリ)をstdinから作りたいんですけど、そのようなコマンドありますか?

864 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:54:27 ]
stdin/stdoutが通常はテキストモードでオープンされているから不都合があるってことかな?
手元に資料はないけどバイナリモードへの切り替える方法はあったと思うよ。

865 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:56:02 ]
「標準」のコマンドだけだと、たぶん無理だと思う(wshでスクリプト組む場合は別)

#ActivePerlを標準コマンド扱いにして強制インスコして、binmodeで
#スクリプト組めばいいとかアホな回答を思いついたw

866 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:07:10 ]
それね、できたよ。でもね、なんか原始人みたいだから教えてあげないww






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef