Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Замена текста на символ bat (http://forum.oszone.net/showthread.php?t=345887)

vk_rootuser@vk 19-07-2020 23:42 2928678

Замена текста на символ bat
 
Народ, можно заменить "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 2928701

vk_rootuser@vk,
Ненадёжно: CMD для работы с текстом мало годится
Код:

@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 2928719

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

Код:

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


Время: 23:35.

Время: 23:35.
© OSzone.net 2001-