下記コードで可能。
長くなりましたが、wordlengthからは自作の擬似的な関数みたいなもんですので、あんまりきにしなくていいです。
やってることとしては、一文字ずつ見て行き、「=」であれば除去、といった風です。
処理速度はあれですが、こちらはotn様の回答と違い、複数の=も削除できます。
まぁ参考までに。
―――――――――――ここから―――――――――――
@echo off
setlocal enabledelayedexpansion
@echo off
rem テキストファイルを保存しているフォルダ名。最後の[]まで入れるように。
set workDi=%~dp0test\
pushd %workDi%
for /f "usebackq delims=" %%f in (dir /b /a-d *.txt
) do (call :main %%f)
pause
exit
:main
set input=%workDi%%~nx1
set outDi=%workDi%tmp\
if not exist "%outDi%" (mkdir "%outDi%")
set output=%outDi%%~n1%~x1
echo %input%
echo %output%
echo ------
type nul >%output%
for /f "usebackq delims=" %%i in ("%input%") do (
set str=%%i
call :replace
)
exit /b
:replace
rem 文字列長を計算して変数に入れるので、一行の文字数が固定であれば、「call~」と:wordLengthからの部分を削除して、
rem strLenに子丁重長さを入れてください。
call :wordLength "%str%
set strLen=%wordLength_Cnt%
rem echo 文字列長:%strLen%
set strBuf=
for /l %%l in (0,1,%strLen%) do (
set /a num=%%l
call set buf=%%str:~!!num!!,1%%
if "!buf!"=="=" (
set /a disp=!num!+1
echo 文字列中!disp!文字目に=が検出されました。除去します
) else (
set strBuf=!strBuf!!buf!
)
)
echo !strBuf! >>%output%
exit /b
exit
:wordLength
rem 引数取得
set wordLength_ArgWord=%1
set wordLength_ArgWord=%wordLength_ArgWord:"=%
set wordLength_Line=%wordLength_ArgWord%
call :wordLength_Sub "%wordLength_ArgWord%"
rem echo カウント対象文字 : "%wordLength_ArgWord%"
rem echo ■■■ 文字数 : "%wordLength_Cnt%"
exit /b
:wordLength_Sub
set /a wordLength_Cnt=0
:wordLength_SubLoop
if "%wordLength_Line%"=="" (exit /b)
set /a wordLength_Cnt+=1
set wordLength_Line=%wordLength_Line:~1%
goto wordLength_SubLoop
―――――――――――ここまで―――――――――――
あと、作業するディレクトリなんかは私好みにいじくったので、
その辺は「set workDi=」の行のディレクトリを適当に改造してください。
以上
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。