PDA

Показать полную графическую версию : Замена текста на символ bat


vk_rootuser@vk
19-07-2020, 23:42
Народ, можно заменить "222222" на "()"
Пробовал так, не получается:

@echo off
setlocal enabledelayedexpansion
Set infile=1.js
Set find=222222
Set replace=()
@echo off
setlocal enabledelayedexpansion
set COUNT=0
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>TMP.js
)
move TMP.js %infile%

megaloman
20-07-2020, 10:01
vk_rootuser@vk, @Echo Off
cls
Set "InFile=яяюю.js"
Set "Find=222222"
Set "Replace=()"

>"%InFile%.tmp" 2>&1 (FOR /F "usebackq delims=" %%a IN (`2^>nul More "%InFile%"`) DO (
Set "Out=%%a"
Call Set "Out=%%Out:%Find%=%Replace%%%"
Call Echo %%Out%%
))
rem Move /Y "%InFile%.tmp" "%InFile%"
pause
Exit /B

Foreigner
20-07-2020, 12:51
В powershell это делается одной строкой. Если серьезно, переходите... Тем более, что сами майкрософтовцы рекомендуют.
https://www.theregister.com/2020/05/27/windows_cmd_maintenance_mode/


(Get-Content file.js) -replace '2{6}','()' | Set-Content TMP.js




© OSzone.net 2001-2012