![]() |
Помогите написать батник для замещения-изменения содержимого txt файлов
Привет!
Я не умею писать батники, поэтому прошу вас помочь. Нужен батник который будет все файлы txt считывать, и изменять в них значения. Например: в папке лежать 4 файла с названиями типа "Pays_000000003_2018_08_62018_08_6.txt" содержание в них такого типа: Date_id|Branch_id|Pay_type|Account_id|Serv_id|Serv_name|Sum_pay|Last_count 06/08/2018|APLT|0|000077183|5|Холодная вода и кан-ция|2*441,00|| Нужно чтобы батник сам заменял значения "APLT" на "1201";"awnb" на "2527"; "ibhb"на"2526"; "kasp" на "4000"; "kpst" на "4001";"|104|" на "|5|"; '00000004|" на "|5|", и так во всех файлах находящихся в папке. |
loficous, пакетные файлы вообще очень хреново подходят для задач замены части содержимого файлов. Или WSH, или PoSH.
Цитата:
|
Вложений: 1
Цитата:
они могут быть разного названия |
loficous, не вижу в примерах файлов ни "|104|", ни '00000004|".
|
можно и без них. мне нужен хотябы пример, может дальше я сам допру.
"Set find=APLT" "Set replace=1201" это понятно. но как сделать чтобы он обрабатывал все файлы? Цитата:
|
я помню делал батник который перечитывает весь файл и заменяет в нём некоторые значения...при этом содержимое самого файла уходит в другой файл...это должно натолкнуть вас на какую-нибудь мысль...
код ниже. Код
Код:
set /a NUM=0 правда есть один минус....если строки длинные и их много процесс может затянуться на час ато и больше(я тестировал на строках длинной чуть больше 50-ти символов и количеством строк 8700.время работы составило 1 час) |
Цитата:
Скрытый текст
Код:
Option Explicit Целевая папка указывается параметром скрипта (также можно просто перетащить папку на скрипт в Проводнике). Имена файлов ожидаются в виде «Pays_<цифры и подчёркивания>.txt». |
Спасибо вам большое, очень выручили.
только объясните пожалуйста как указать путь точный? Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Я просто затупил при ответе.
Где в коде изменить чтобы указать путь к папке, не перетаскивая ее? Цитата:
|
Цитата:
Создайте пакетный файл, в котором напишите: Код:
@echo off Код:
cscript.exe //nologo "C:\Мои проекты\0180\Мой скрипт.vbs" "C:\Мои проекты\0180\0005" |
Благодарю Вас за помощь.
Цитата:
|
Вот батник с привлечением js
Код:
@set @E=1; /* "\|заменяемое\|" "|замена|" Количество пар произвольно Я принципиально хотел сохранить символы | при поиске и замене, из опасения ложного срабатывания. Но, каюсь, не сумел написать регулярное выражение, если указывать в виде "|заменяемое|" "|замена|", поэтому приходится писать "\|заменяемое\|" Путь к файлам укажите свой. Надеюсь, найдутся люди и натыкают меня носом, как это сделать. :( |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
дело в том, что в прописываемом пути не должно быть кирилицы (названия папок и самого скрипта). как только я сделал так как вы сказали,сразу увидел что пишется в командной строке и выявил проблему. вопрос можно ли какнибудь сделать так чтобы он принимал кирилицу, или нет? |
Цитата:
|
Цитата:
|
Цитата:
Код:
"%~dp0Имя файла.ext" |
Время: 03:26. |
Время: 03:26.
© OSzone.net 2001-