![]() |
Замена части информации в файлах txt на имя папки
Добрый день форумчане.
Нужна срочная помощь. Есть группа файлов разложенная по разным папкам, файлы формата *.22O, но внутри обычный txt. Суть задачи: 1. Найти все файлы в подкаталогах исходного каталога, при этом нужны файлы в пути к которым присутствует слово rinex. *\12345\2\20220609\472593\Кожино_КТ_001\файлы данных в формате rinex\K0011600.22o - этот должен быть найден *\12345\2\20220609\ДГС Сергиев Посад\SPSS_090622.0510_090622.1520_730321.22o - этот НЕ должен меняться 2. В найденных файлах, нужно заменить данные в строке 4 и 5 2 OBSERVATION DATA M RINEX VERSION / TYPE LEICA GEO OFFICE 7.0 10-6-22 15:40 PGM / RUN BY / DATE Ткачук В.С. АО ВАГП OBSERVER / AGENCY 0001 MARKER NAME 0001 MARKER NUMBER 472593 LEICA GX1230GG 7.01 REC # / TYPE / VERS 08500004 LEIAX1202GG ANT # / TYPE 2743318.5900 2240299.1118 5286791.3241 APPROX POSITION XYZ 1.6890 0.0000 0.0000 ANTENNA: DELTA H/E/N На имя папки на два уровня выше *\12345\2\20220609\472593\Кожино_КТ_001\файлы данных в формате rinex\K0011600.22o При этом количество заменяемых символов должно соответствовать длине нового имени, т.е. выделяются старые данные + пробелы. В итоге получается так: 2 OBSERVATION DATA M RINEX VERSION / TYPE LEICA GEO OFFICE 7.0 10-6-22 15:40 PGM / RUN BY / DATE Ткачук В.С. АО ВАГП OBSERVER / AGENCY Кожино_КТ_001 MARKER NAME Кожино_КТ_001 MARKER NUMBER 472593 LEICA GX1230GG 7.01 REC # / TYPE / VERS 08500004 LEIAX1202GG ANT # / TYPE 2743318.5900 2240299.1118 5286791.3241 APPROX POSITION XYZ 1.6890 0.0000 0.0000 ANTENNA: DELTA H/E/N |
Powershell:
Код:
dir "D:\temp\12345" -Recurse |? {!$_.psiscontainer -and $_.fullname -match "rinex"} |% { |
Время: 08:23. |
Время: 08:23.
© OSzone.net 2001-