
No.4ベストアンサー
- 回答日時:
@echo off
set N=0
for /f "delims=" %%A in (input.txt) do (
call :CHK
if ERRORLEVEL 1 echo %%A
)
goto :EOF
:CHK
set /a N+=1 , X=N %% 100
if %X%==1 exit /b 1
exit /b 0
ご回答ありがとうございます。ご説明不足もあったかと思うのですが、イメージにとても近い回答をいただきました。
以下に出来上がったものを添付いたします。他の方のお役にも立てばと思います。
@echo off
::<コメント開始>
:: 「テキストファイルからサンプリングファイルを抽出するバッチプログラム」
:: 1.目的
:: テキストファイル(SJISコードで改行ありのみ対応)のうちサンプリングで
:: ***行に1行を抽出する。
:: 100行単位に指定した場合、1行目(ヘッダー行)、101行目、201行目、・・・・・
:: 2.使い方と説明
:: @echo off
:: →画面表示しない
:: del output.txt
:: →アウトプットファイルを作業前に削除
:: set N=0
:: for /f "tokens=1 delims=" %%A in (input.txt) do (
:: →tokens=1は1行を1つの塊として扱うの意味
:: delims=は区切り文字なしの意味
:: input.txtはインプットファイル
:: ネットワーク経由の場合例:\\172.16.***.***\data\input.txtなど
:: (事前にクライアントから相手の該当フォルダにアクセスできている必要がある)
:: call :CHK
:: →サブルーチンをコール(:CHKに飛ぶ)
:: if ERRORLEVEL 1 echo %%A>>output.txt
:: →サブルーチンからの戻り値が1だったらoutput.txtに書き込む
:: )
:: goto :EOF
:: →ファイルを読み終えたらEOFに行く
::
:: 以下はサブルーチン
:: :CHK
:: set /a N+=1 , X=N %% 100
:: →Nに1を足し、100で割った余りをXにセットする
:: if %X%==1 exit /b 1
:: exit /b 0
:: →exitで「/b」が指定されている場合、ERRORLEVEL にその数値を設定し、
:: for文に戻る。
::<コメント終了>
del output.txt
set N=0
for /f "tokens=1 delims=" %%A in (\\172.16.***.***\data\input.txt) do (
call :CHK
if ERRORLEVEL 1 echo %%A>>output.txt
)
goto :EOF
:CHK
set /a N+=1 , X=N %% 100
if %X%==1 exit /b 1
exit /b 0
No.3
- 回答日時:
すみません最初の1行目がなかったですね
for /f "usebackq tokens=1,* delims=:" %a in (`findstr /n /r "^" a.txt ^| findstr /r "^1: ^[0-9]*[0-9]01:"`) do @echo a=[%a] b=[%b]
No.2
- 回答日時:
もうちょっと汎用性あり、
デバック用
for /f "usebackq tokens=1,* delims=:" %a in (`findstr /n /r "^" a.txt ^| findstr /r "^[0-9]*[0-9]01:"`) do @echo a=[%a] b=[%b]
該当行出力
for /f "usebackq tokens=1,* delims=:" %a in (`findstr /n /r "^" a.txt ^| findstr /r "^[0-9]*[0-9]01:"`) do @echo %b
バッチファイル用
for /f "usebackq tokens=1,* delims=:" %%a in (`findstr /n /r "^" a.txt ^| findstr /r "^[0-9]*[0-9]01:"`) do @echo %%b
と言うことで、a.txtを対象となるファイル名にしてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルでDirで取得した...
-
子バッチ内のキー入力処理へ自...
-
コマンドプロンプト標準出力と...
-
バッチファイルで昨日の日付を取得
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
#include <Windows.h>というヘ...
-
[teraterm] waitコマンドで停止...
-
win10の「フォト」で、「次へ」...
-
echoの出力の最後のスペースを...
-
Thunderbirdで社内共有フォルダ...
-
これってパソコンの最適化が完...
-
リンクの張り付けかたを教えて...
-
DOSのバッチ作成について‐FORの...
-
バッチ終了時にDOS窓を閉じるコ...
-
ファイル名を該当フォルダ内か...
-
バッチファイルでサーバーのフ...
-
make test って何をするための...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
バッチファイルでDirで取得した...
-
VBアプリケーションで終了コー...
-
コマンドプロンプトで2ヶ月前3...
-
コマンドプロンプト画面の閉じ...
-
絶対パス名からファイル名を取...
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプト標準出力と...
-
バッチファイルで常に最新の現...
-
DOSのバッチで、変数中のファイ...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプトでファイル...
-
子バッチ内のキー入力処理へ自...
-
CMDの「Explorer」
-
バッチからバッチを逐次よぶ方法
-
バッチで自動的にディレクトリ...
-
コマンドプロンプト 半角スペー...
-
呼び出し元バッチを知るには?
おすすめ情報