13/09/11 17:10:40.49
お、俺じゃないからね!
101:デフォルトの名無しさん
13/09/11 17:40:47.80
>>99
すまんが簡単な方法が分からん
set a=abc=def=ghi
set n=0
set new_a=
:loop
call set a1=%%a:~%n%,1%%
if "%a1%"=="" goto next
if "%a1%" neq "=" set new_a=%new_a%%a1%
set /a n+=1
goto loop
:next
set a=%new_a%
102:デフォルトの名無しさん
13/09/11 18:26:47.00
for /f "delims== tokens=1,2" %i in ("%a%") do set b=%i%j
103:101
13/09/11 19:21:16.50
>>99,100
wsh(jscript)とかを併用することを考えたら?
使い捨てじゃなく将来複雑な処理が考えられるのなら後々楽になるよ
以下のはbatに埋め込んだ形になってるがxxx.jsと別ファイルにしてxxx.batから呼び出す方がいいだろう
@if (0)==(0) echo off
cscript //nologo /e:jscript "%~f0" <test.txt >result.txt
type result.txt
goto :eof
@end
/*
WScript.Echo(WScript.StdIn.ReadAll().replace(/=/g,""));
*/
var stdin=WScript.StdIn;
while(!stdin.AtEndOfStream) {
var data=stdin.ReadLine().replace(/=/g,"");
// var data=stdin.ReadLine().replace(/(.+?)=(.+)/,"$2=$1"); //>>100さん対応 a=bをb=aに入替
WScript.StdOut.WriteLine(data);
}
104:デフォルトの名無しさん
13/09/12 22:31:25.95
通りすがりだが>>102のでバッチリできたぞ?
これ>>54にも使えるんじゃね?
105:デフォルトの名無しさん
13/09/12 23:23:43.17
>>104
取り敢えずそれで良いとしても、EOL指定とか空行とか非置換行とかメタ文字とか…
最終的には別言語併用出来るようにしたほうが楽な可能性があるって事は留意しておいても良いと思う。