Как объединить два скрипта в один?
Здравствуйте. Я использую последовательно два скрипта.
Первый, в котором удаляются все строки, кроме тех, где содержится "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 перезаписывался, а не дописывался.
|
DJ Mogarych |
08-12-2019 09:35 2899459 |
Код:
powershell -command "((gc C:\temp\1.txt) -match 'slovo').Substring(6) > C:\temp\2.txt"
|
Цитата:
Цитата temphard
Можно ли эти скрипты объединить в один, чтобы не запускать два батника. А также чтобы в конечном результате file2.txt перезаписывался, а не дописывался. »
|
powershell
Код:
$file = 'file1.txt'
$arr = gc $file -enc OEM
$arr|?{$_ -notmatch 'slovo'}|%{$_ -replace '^.{6}'}|out-file $file -enc OEM
|
Первый файл останется неизменным
Код:
@Echo Off
Set "FileIn=Z:\Box_In\1.txt"
Set "FileOut=Z:\Box_Out\2.txt"
Set "Word=sLoVo"
Set /A N=6
>"%FileOut%" (For /F "usebackq delims=" %%s In (`2^>nul FINDSTR /I /C:"%Word%" "%FileIn%"`) Do (
Set "String=%%s"
(Call Echo %%String:~%N%%%)
))
Exit /B 0
Первый файл будет содержать только выбранные строки, как в Ваших предыдущих скриптах
Код:
@Echo Off
Set "FileIn=Z:\Box_In\1.txt"
Set "FileOut=Z:\Box_Out\2.txt"
Set "Word=sLoVo"
Set /A N=6
2>nul Del "%FileIn%.tmp"
>"%FileOut%" (For /F "usebackq delims=" %%s In (`2^>nul FINDSTR /I /C:"%Word%" "%FileIn%"`) Do (
Set "String=%%s"
>>"%FileIn%.tmp" (Echo %%s)
(Call Echo %%String:~%N%%%)
))
>nul Move /Y "%FileIn%.tmp" "%FileIn%"
Exit /B 0
Выделены отличия первого скрипта от второго
|
Цитата:
Цитата megaloman
Первый файл останется неизменным »
|
Цитата:
Цитата megaloman
Первый файл будет содержать только выбранные строки, как в Ваших предыдущих скриптах »
|
Шикарно! Спасибо.
P.S. За powershell я тоже благодарен, но в данном случае мне именно батник нужен.
|
DJ Mogarych |
09-12-2019 11:17 2899621 |
temphard, код, который я привёл - это для батника.
|
Время: 04:57.
© OSzone.net 2001-