[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
454
(1): 2018/04/03(火)02:29 ID:yDWDpnwx(1/2)調 AAS
ちょっとハマってしまったのでアドバイスをいただきたく。

@echo off
cd /d %~dp0
setlocal ENABLEDELAYEDEXPANSION

FOR /f "delims=" %%i IN ('cmd /u /c ECHO;名') DO (
SET CR=%%i
SET CR=!CR:~0,1!
)
SET LF=^

set CRLF=!CR!!LF!

set DATA=alpha beta gamma
set DATA2=%DATA: =!CRLF!%

@echo ----------------------------------------------
@echo !DATA2!
@echo ----------------------------------------------
(@echo !DATA2!) > testdata2.txt

@echo -------------FOR開始---------------
FOR /F "tokens=*" %%a in ('echo !DATA2! ^| findstr /C:"be"') DO (
@echo FORに入った
@echo %%a
)
@echo -------------FOR終了---------------

:last
pause
455: 454 2018/04/03(火)02:42 ID:yDWDpnwx(2/2)調 AAS
>>454でやりたいこと
・空白区切りの文字列群が入っている環境変数DATAがある。
・ここから、特定の文字列(ここでは"be")を含む文字列だけを取り出したい。

・空白を改行(CRLF)に置換してfindstrすればいいかと思ったが、
 @echo !DATA2! > testdata2.txt では確かに改行されたファイルができるものの、
 @echo !DATA2! | findstr /C:"be" だと、そもそも @echo !DATA2! が
 "alphaCRLFbetaCRLFgamma"のような単一行扱いでfindstrに渡されるらしく(?)、うまくいかない。
 出力結果は
  -------------FOR開始---------------
  FORに入った
  alpha
  -------------FOR終了---------------
 となってしまう。
 (echo alphaCRLFbetaCRLFgamma をやろうとして、CRLFのとこまでしか出力してないということ?)

・type testdata2.txt | findstr /C:"be" にすればいいのだが、できれば一時ファイルへの出力は行いたくない。

何か良い方法はないでしょうか。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s