コンソール DOSコマンド


そのファイルの中身(テキスト)を、コンソールからバッチ処理で変更したいのですが・・・

abcdefg(任意の文字列)
oawiufjoei
hijklmnd
opqrstudfs
abcdefg
dfnvuoinfi
poiuyt
dsfljgpwe

と、いうような状態で、行頭に0を入れて行くとか、4文字目を4と置き換えとか、行末にZを追記とかどうやればいいのでしょうか?
そのバッチを配布すればどのWindowsパソコンから、どんな素人でも「〜.batをダブルクリックしてください。」と説明するだけで出来るようにしたいんです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:JULY No.1

回答回数966ベストアンサー獲得回数247

ポイント15pt

バッチファイルでファイルの中身を操作、というのは、ほぼ無理だと思ってよいです。

その代わりとしてよく使われるのが VBS(VBScript)です。

中身は VisualBasic のコードをテキストファイルにして拡張子を

「.vbs」とすれば、ダブルクリックで実行できます。

http://e-words.jp/w/VBScript.html

VBScriptとは 【Visual Basic Script】 - 意味・解説 : IT用語辞典

厳密に言うと、Windows Scripting Host という機能で、VBS という

スクリプト処理をサポートしている、という位置付けになります。

id:kodomono-omocha

んー、無理っぽいか。

2004/08/24 17:19:38
id:upride No.2

回答回数220ベストアンサー獲得回数1

ポイント15pt

urlダミーです

考え方としては

実作業(テキストを編集する)は

何でもいいです(vbs,エクセルマクロ)

で、それを起動させるバッチファイルを

用意してそれを皆さんに配布すればいいと思います

vbsを例にとると、

copy サーバ側のファイルパス コピーしてきたファイルパス

cscript コピーしてきたファイルパス

をbatファイルに記述することで宜しいです

この方式のいいとこは

サーバからコピーしてクライアントで起動するのでプログラムの中身を変更しても再配布の必要がないことです

id:kodomono-omocha

ふむふむ。

2004/08/24 18:58:39
id:virus No.3

回答回数183ベストアンサー獲得回数1

ポイント15pt

http://www.chimimo.com/sed/

RetroEngine: sed アーカイブ

既に書かれてるように batファイル単独では無理です。

もっとも vbs 等の汎用言語で処理するのは面倒&余計なスキルが必要ですが、テキスト処理に限定するなら、URL に解説のあるSED なんかが良いと思います。

URLのページにもDOS用のSEDへのリンクがありますが、フリーソフトですので bat と一緒に渡せば目的は達せられると思います。

SED もちょっと難しい面もありますが、慣れれば便利ですよ。がんばってください(^^ゞ

id:kodomono-omocha

これ薦められているんですが、やっぱこれいいのでしょうか?

2004/08/24 18:59:31
id:aki73ix No.4

回答回数5224ベストアンサー獲得回数27

ポイント50pt

http://www.vector.co.jp/soft/dos/util/se000208.html

jgawk MSDOS用実行形式(MS-DOS / ユーティリティ)

行編集するならば、フリーウェアの力を借りたり、自分でWSH/VBSを組まないと無理ですよ

比較的楽な方法がこのソフトを併用する方法です awkというUNIXのScript言語と互換性があります

このソフトをC:¥Windowsなどに入れておいて貰えば、「指定したファイルを同じフォルダに入れて、〜.batをダブルクリックして下さい」で、何でもできるようになります

使い方です

ちょっと作ってみました

1. test.txtファイルのそれぞれの行の先頭に 0を入れるバッチファイル(画面に出力)

jgawk ’BEGIN{FS=””;RS=”¥n”} {printf(”0%s¥n”,$1)}’ < test.txt

--------------

2.test.txtの行ごとに4文字目だけ”4”と置換するバッチファイル(画面に出力)

jgawk ’BEGIN{FS=””;RS=”¥n”} {printf(”%s4%s¥n”,substr($1,1,3),substr($1,5,999))}’ < test.txt

--------------

3.test.txtの行末にZを追加してtest2.txt二出力する バッチファイル

jgawk ’BEGIN{FS=””;RS=”¥n”} {printf(”%sZ¥n”,$1)}’ < test.txt >test2.txt

”や’が全角になってるので注意

ここで気をつけるのはBATファイル中のScriptの%は %%にしないと正常に動かないことです

サンプル例です

これは

同じフォルダにあるTEST.TXTを5文字目までを小文字にそれ以降を大文字に変換してTEST2.TXTに出力します

id:kodomono-omocha

おお、なるほどなるほど。

2004/08/24 19:02:41
id:garyo No.5

回答回数1782ベストアンサー獲得回数96

ポイント50pt

http://d.hatena.ne.jp/garyo/20040824#p8

恋文 - ジャンク☆ニュース 臥龍

URLの場所にスクリプトを書いておきましたので見てください。

ダイアリで使える「||>>」が人力検索でも使えるといいのですが……

id:kodomono-omocha

拝見しました、ありがとうございます。

みなさんどうもお手数かけました。

2004/08/24 19:04:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません