
No.3ベストアンサー
- 回答日時:
98SEから2003までのすべてのWindowsに標準搭載されているコマンドでFORと>(リダイレクト)を使って出来ます。
FOR /F "TOKENS=1*" %A IN ([元ネタファイル名]) DO ECHO %A > [出力先ファイル名]
(大カッコ([ ])は必要ありませんが、普通のカッコ( () ) は必要です。)
元ネタのファイルサイズが大きかったら少々思い処理になるかもしれませんが、所詮テキストファイルですので、極端に時間がかかるものでもないでしょう。
なお、元ネタのファイルはSVS形式などのファイルだと思いますが、そうだとするとフィールドの区切り文字をそのデータ内に含まれないものにするといいですね。FORのなかに" "で囲まれた部分がありますが、そこに 「delims=...」などとデータ内に無い文字列を指定します。"TOKENS=1* delims=..."というようにTOKENSとはスペース区切りで追加します。
(今回、元ネタのデータがどういうものか分からないのではっきりとした答えを書きようがありません。データの形式によっては例外処理対応をする必要もあります。
バッチで組むならもっと軽くする方法はありますね。なお、その際、FORの内部変数を%%Aとする必要がありますので気をつけましょう。今回はコマンドラインでということですので、コマンドライン1行で出来るものとしています。
lar様:
補足まで頂きまして有難うございます。
for文により最終行の抽出できました!
この構文で最終行のみ抜き出せる理由が
まだ理解できていませんが、勉強させて頂きます。
御世話をお掛け致しました。
No.4
- 回答日時:
すみません。
訂正をいくつか。SVS→CSV
コマンドラインでと→コマンドで
でしたね。これがコマンドラインからなのかバッチスクリプトで処理していいのか判断が出てきますね。
私が、先の回答であげていたのは、その元ネタファイルを1行ずつファイルに上書きでリダイレクトすれば最後の行を書き込んだ時点で最後の行が残るということになります。
WindowsのコマンドではUNIXと違い、テキスト処理ができるものがあまり揃ってないのでしばしばこう言う裏技的な処理が必要になってきますね。まさにパズル状態です。
もし、その時々の処理の「最後の行」をログファイルのように管理したいのでしたら、この後にそのファイルから別のファイルに>>で追記リダイレクトするといいでしょう。
また、ファイルに1行1行書き込むよりも変数に上書きで叩き込み、最後にその変数をファイルに書き出すと処理は幾分早いでしょうね。
やり方はいろいろあると思います。もっと良い解もあると思いますので、研究されてはいかがでしょうか?
No.2
- 回答日時:
DOSコマンドでそれを実現する機能は標準では付いてないようです。
unix系ではtailというプログラムがあって、それをdosに移植したものがありますので、使ってみてください。
参考URLにあるものをWinXP Proで使ってみましたが、できました。
リダイレクトについては大丈夫ですか?
念のために表示結果をファイルに書きたいときは
>tail.exe inputfile > outputfil
というように、コマンドの後に > と 出力先のファイル名を指定すれば、できます。
追記したいなら > ではなく >> で、後ろに追加されます。
参考URL:http://www.vector.co.jp/soft/dos/util/se007619.h …
crum様:
有難うございます。
早速試してみます。
>unix系ではtailというプログラムがあって、それをdosに移植したものがありますので、使ってみてください。
こういうソフトがあるんですね(^^"
また結果報告をさせて頂きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をdiff.shとして、以下のように2つのテキストフ 1 2023/02/03 20:06
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- その他(プログラミング・Web制作) 複数のテキストファイルの結合方法 2 2022/05/14 23:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/14 12:49
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
*.txtファイルの最終行だけ参照して、バッチファイルを作りたい
UNIX・Linux
-
テキストファイルの最終行を削除したいのですが
その他(プログラミング・Web制作)
-
-
4
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
5
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
6
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
7
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
8
バッチファイル 指定行の切り出し
その他(Microsoft Office)
-
9
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
10
DOSバッチにて外のファイルの指定行を読む
Windows Vista・XP
-
11
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
12
バッチファイル テキストファイル内の最後の\\以下を削除したい
その他(プログラミング・Web制作)
-
13
バッチファイルを使ってテキストファイルの任意の行を削除したい
その他(プログラミング・Web制作)
-
14
バッチで指定ファイルの文末に改行コードをつけたい
その他(コンピューター・テクノロジー)
-
15
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
16
ファイルの最後に文字列挿入
その他(プログラミング・Web制作)
-
17
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
18
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
19
DOSコマンドのforで空白行をスキップしない
UNIX・Linux
-
20
echoの出力の最後のスペースを除去したい
iOS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
tarコマンドの圧縮
-
ラズパイで『’test.service’をs...
-
ファイル名についている「-」と...
-
テキストファイルから最終行の抽出
-
ファイル名一覧の印刷
-
数字を複数回繰り返す正規表現...
-
Telnetでファイルを送信したり...
-
DOSのコマンドで、隠しファイル...
-
batファイルの強制終了を回避し...
-
エクスプローラーはデータを書...
-
DOSのバッチファイルでのヒアド...
-
特定の更新日付のファイルのみ...
-
whereisコマンドについて教えて...
-
MSDOSですべてのファイル名の前...
-
Windows7のWindowsログの出力
-
Linuxで標準出力したファイルの...
-
~以外を削除する場合(rmコマ...
-
Ubuntu
-
linuxなどの圧縮、解凍は何故一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ファイル名についている「-」と...
-
ラズパイで『’test.service’をs...
-
テキストファイルから最終行の抽出
-
batファイルの強制終了を回避し...
-
ファイル名の -(ハイフン)を _(...
-
ファイル名一覧の印刷
-
DOSのコマンドで、隠しファイル...
-
~以外を削除する場合(rmコマ...
-
数字を複数回繰り返す正規表現...
-
DOSコマンドのFOR文で空白を含...
-
DOS コマンドの~zfの意味を教え...
-
oracleの文字コードとlinuxサー...
-
lsでは一画面ずつ表示できませ...
-
バッチファイルでのzip形式フォ...
-
xcopyのエラー情報のはき...
-
ftpコマンドで丸ごとダウン...
-
エクスプローラーはデータを書...
-
処理結果(標準出力と標準エラー...
-
Windows上にて、コマンドでunco...
おすすめ情報