temphard
08-12-2019, 02:17
Здравствуйте. Я использую последовательно два скрипта.
Первый, в котором удаляются все строки, кроме тех, где содержится "slovo"
@echo off
set fname=file1.txt
findstr /c:"slovo" %fname% >log.tmp
del %fname%
move log.tmp %fname%
Второй, который удаляет первые 6 символов в каждой строке
@echo off
SetLocal enabledelayedexpansion
set File=file1.txt
set nn=6
set Out=file2.txt
For /F "usebackq delims=" %%A In ("%File%") Do (
Set "String=%%A"& Set "String=!String:~%nn%!"
Echo.!String!>>%out%
)
exit /b
Можно ли эти скрипты объединить в один, чтобы не запускать два батника. А также чтобы в конечном результате file2.txt перезаписывался, а не дописывался.
Первый, в котором удаляются все строки, кроме тех, где содержится "slovo"
@echo off
set fname=file1.txt
findstr /c:"slovo" %fname% >log.tmp
del %fname%
move log.tmp %fname%
Второй, который удаляет первые 6 символов в каждой строке
@echo off
SetLocal enabledelayedexpansion
set File=file1.txt
set nn=6
set Out=file2.txt
For /F "usebackq delims=" %%A In ("%File%") Do (
Set "String=%%A"& Set "String=!String:~%nn%!"
Echo.!String!>>%out%
)
exit /b
Можно ли эти скрипты объединить в один, чтобы не запускать два батника. А также чтобы в конечном результате file2.txt перезаписывался, а не дописывался.