【.cmd】 バッチファイルスクリプト %15 【.bat】 (768レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
581(4): デフォルトの名無しさん [sage] 2024/11/07(木) 12:14:54.61 ID:9xnRXsv4(1) AAS
>>580580(1): デフォルトの名無しさん [] 2024/11/07(木) 11:01:23.05 ID:5OQwBO7R(1/2) AAS
batファイルで=を含む置換えの時の方法教えてください。
入力は Hello World 12=34
@echo off
set /p mystringA=あいさつ:
set mystringB=%mystringA:12=34=4567%
echo %mystringB%
結果をこのようにしたい
Hello World 4567
batだけでやるには大変(=の置換は無理)
変換前に1文字ずつ判定して=だったら普通使われない文字(=とか)に変えるとかしないとできない
別の方法としては別の言語でサポートしてやれば楽
@if (0)==(0) echo off
rem *** このブロックにbat内容を記述する
set s=Hello World 12=34
cscript //nologo /e:jscript "%~f0" "%s%"
rem for /f "tokens=*" %%i in ('cscript //nologo /e:jscript "%~f0" "%s%"') do set s=%%i
rem echo %s%
goto :eof
rem ***
@end
//これ以降はjscriptの処理部
var data=WScript.Arguments(0).replace(/12=34/g,"4567");
WScript.StdOut.WriteLine(data);
692(3): デフォルトの名無しさん [sage] 2025/04/19(土) 00:45:06.61 ID:pkdgLcU5(1) AAS
set str=aaa "dd d"
echo echo1 %str%
echo echo2 "%str%"
call :callecho "%str%"
pause
goto :EOF
:callecho
echo echo3 %1
echo echo4 %~1
echo echo5 %2
echo echo6 %~2
exit /b
二重引用符括ったものを入れ子の構造と認識していない様子
"%str%"で一つの引数とするためには、どのようにエスケープすればいい?
696: デフォルトの名無しさん [sage] 2025/04/19(土) 12:17:01.61 ID:1418i819(2/2) AAS
>>692
絶対使わない文字列に一旦変換するのが良いのかも
call :callecho "%str:"=<”>%"
goto :EOF
:callecho
set arg1=%~1
set arg1=%arg1:<”>="%
echo echo3 %arg1%
732: デフォルトの名無しさん [] 2025/06/14(土) 08:41:58.61 ID:yDCgYQHw(3/4) AAS
あ、ソート忘れたけどいいよね
文字化けするならforの前にchcp 65001入れておくれ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s