Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление 14 последних символов в каждой строке в файле

Ответить
Настройки темы
CMD/BAT - [решено] Удаление 14 последних символов в каждой строке в файле

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Нужна ваша помощь.
Есть текстоый файл(inFile), в нем указаны пути до файлов такого вида
С:\...\filename1.sql: windows-1251
С:\...\filename2.sql: windows-1251
С:\...\filename3.sql: windows-1251
.................................................
С:\...\filenameN.sql: windows-1251

Нужно удалить 14 симоволов, или до .sql . Можно сохранить в этот файл, либо в другой. Я попробовал вот так, но что-то не вышло
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set ifile=inFile.txt
set tfile=outFile.txt
set find=windows

if exist %tfile% del /Q %tfile%

for/F "tokens=* delims=, " %%a IN (%ifile%) DO ( 
    set line=%%a
    if !line!==%find% ( set line=%line:~0,-14%)
    echo !line!>> %tfile%
	)

Отправлено: 19:06, 20-02-2021

 

Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
param(
    $pathIN  = "D:\inFile.txt",
    $pathOUT = "D:\outFile.txt"
)cls

(gc $pathIN)-replace".{14}$"|
Out-File $pathOUT 
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:30, 20-02-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для NickM

Ветеран


Contributor


Сообщения: 4241
Благодарности: 994

Профиль | Отправить PM | Цитировать


nexxie, 5 копеек вставлю, разбавил Ваш код примерами с форума:

Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set ifile=inFile.txt
set tfile=outFile.txt
set sfind=windows

if exist %tfile% del /Q %tfile%

for /F "tokens=* delims=, " %%a IN (%ifile%) DO ( 
echo %%a | findstr.exe /c:!sfind! > nul && set line=%%a && set line=!line:~0,-15! && echo.!line! >> !tfile! 
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:07, 20-02-2021 | #3


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо всем. Я нашел решение. Может кому будет интересно
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set ifile=inFile.txt
set tfile=outFile.txt
set find=windows

if exist %tfile% del /Q %tfile%

(for /F "tokens=* usebackq delims=" %%a In ("%ifile%") do (
	set line=%%a
	Echo !line:~0,-14!
))>"%tfile%"

Отправлено: 21:08, 20-02-2021 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


nexxie, строка:
Цитата nexxie:
Код: Выделить весь код
if exist %tfile% del /Q %tfile%
»
в данном контексте лишняя — файл %tfile% в любом случае будет перезаписан.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:23, 20-02-2021 | #5


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо!

Отправлено: 21:41, 20-02-2021 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление 14 последних символов в каждой строке в файле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление последнего символа в каждой строке txt - файла Мария_Айдарова@vk Скриптовые языки администрирования Windows 14 01-08-2019 18:23
C/C++ - Подсчет символов в строке 31echo_echo@vk Программирование и базы данных 1 14-11-2016 00:45
CMD/BAT - [решено] Удаление в строке лишних символов idlazarev_alex@vk Скриптовые языки администрирования Windows 2 05-10-2014 16:21
CMD/BAT - [решено] Удаление первых 9 символов в каждой строке TXT файла pzh2393 Скриптовые языки администрирования Windows 1 18-05-2012 16:53
CMD/BAT - [решено] Поиск и редактирование последних символов в строке sLiDeR-X Скриптовые языки администрирования Windows 3 21-01-2011 13:30




 
Переход