[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
454: デフォルトの名無しさん [sage] 2018/04/03(火) 02:29:58.94 ID:yDWDpnwx ちょっとハマってしまったのでアドバイスをいただきたく。 @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 http://mevius.5ch.net/test/read.cgi/tech/1489207631/454
455: 454 [sage] 2018/04/03(火) 02:42:57.22 ID:yDWDpnwx >>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" にすればいいのだが、できれば一時ファイルへの出力は行いたくない。 何か良い方法はないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/455
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.040s