Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67

Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой

16.04.2025, 00:42. Показов 7310. Ответов 90
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте !
Есть много файлов txt , которые нужно объединить в один
В данный момент я делаю это так

PowerShell
1
Get-Content -Path C:\Test2\*.txt | Set-Content -Path C:\Input.txt
Но объединяются они не в том порядке в котором нужно

Мне нужно чтобы файлы объединялись по естественной сортировки алфавитно-числовой
1
2
10
100

Сейчас сортируется
1
10
100
2

Пробовал сначала txt файлы переименовывать со счетчиком в начале имени файла
PowerShell
1
Get-ChildItem -Path C:\Test2\*.txt | Foreach-Object {$i=1} {ren $_ -NewName ("{0:00#} $($_.Basename).txt" -f $i++) }
Но сортировка получается такая же как и при объединении
Пробовал с Sort-Object -Property Name , так тоже не получается
Подскажите пожалуйста как сделать сортировку алфавитно-числовой?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2025, 00:42
Ответы с готовыми решениями:

Групповое переименование файлов через командную строку
Здравствуйте! Мне нужно создать bat-файл со скриптом, который переименует все файлы в папке C:\SEPT...

Групповое переименование файлов средствами PowerShell 2.0
Здравствуйте, при переименовании файлов скрипт отрабатывает не со всеми форматами, выдает ошибку...

Групповое переименование csv-файлов
Приветствую всех и прошу помощи в написании батника. Исходные данные: Имеется множество csv...

90
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
19.04.2025, 21:39
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dez33 Посмотреть сообщение
в коде который я использую , сортировка происходит только по имени файла или еще и по Oxxxx ?
Ну, я не видел весь код вашей программы... А если весь код, как в этом сообщении, то там для сортировки используются исключительно имена файлов. На каком этапе появляются префиксы, пока непонятно.
Цитата Сообщение от Dez33 Посмотреть сообщение
давайте я дам исходный файл со станка и что из него должно получиться
Это было бы лучшим вариантом.
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
20.04.2025, 19:44  [ТС]
Вот два файла , один со станка , другой после всех моих манипуляций
Вложения
Тип файла: rar All-Prog(файл со станка).rar (77.5 Кб, 9 просмотров)
Тип файла: rar output(после манипуляций).rar (76.8 Кб, 8 просмотров)
0
 Аватар для volodin661
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,053
20.04.2025, 22:20
Dez33,

ПРОЦЕСС ОБРАБОТКИ СОДЕРЖИМОГО ЯЧЕЕК, принесенный на флешке, должен выглядеть примерно так:

Флешка -> Файл.txt ==> Загрузка в базу ==> Обработка, Обработка, Обработка ==> Выгрузка ==> Файл.txt -> Флешка

База содержит всю полезную информацию по максимуму, всё время растёт,
программы в ней имеют уникальные имена, чтобы не превращать базу в помойку.

Какие желаемые критерии поиска ?
В таблице базы при её проектировании надо завести осмысленные поля для последующего осмысленного поиска.

запрос: "Выбрать все втулки за март внешним диаметром > 40 и разместить в ячейках 500 до 600"
запрос: "Выбрать все программы, где режут резьбу и закинуть в ячейки 700-800"
запрос: "Выбрать все программы по чертежам, которые приносил Михеич, и выкинуть нахер"


Надо сказать, в старших ячейках имена программ относительно приличные,
а в начальных ячейках в именах почти ничего и нет
.
VTULKA, KOLCO, PALEC, NAKONECHNIK, SHTIFT, FUTORKA, VINT, KORPUS, SHPILKA - это хорошо; данные типы всегда в конце имени ?
А остальное как разобрать ?
Где внутренний диаметр ?
Где внешний ?
Где материал ?

что такое 'BA9.110.147-04' для деталей типа vtulka, часть названия чертежа ?
UVAI.753712.018 RUCHKA - а тут где что ? Польза от такого имени есть ?

ну и так далее
Кликните здесь для просмотра всего текста
2400 20865 STOYKA 2X10 F
2401 20865 STOYKA 3X20 F
2402 20865 STOYKA 3X24 F
2500 24296 SHTIFT 10X50
2600 AIST.711141.002 KOLCO
2601 AIST.711141.020 VTULKA
2602 AIST.711242.001 OS
2603 AIST.711641.002 VTULKA
2604 AIST.711641.002-01 VTULKA
2605 AIST.711641.002-02 VTULKA
2606 AIST.711641.005 VTULKA
2607 AIST.711661.001 VTULKA
2608 AIST.711661.001-01 VTULKA
2609 AIST.711661.001-02 VTULKA
2610 AIST.711691.001-02 VTULKA
2611 AIST.712351.002 KOLCO
2612 AIST.712351.002-01 KOLCO
2613 AIST.712351.005 KOLCO UPORNOE
2614 AIST.714311.001 PALEC
2615 AIST.714311.002 PALEC F
2616 AIST.715111.009 OS
2617 AIST.715141.005 VTULKA
2618 AIST.715141.005-04 VTULKA
2619 AIST.715141.005-05 VTULKA
2620 AIST.715142.001 SHTOK
2621 AIST.715142.001 SHTOK S
2622 AIST.715511.007 LOVITEL
2623 AIST.715533.001 KOLONKA
2624 AIST.752463.001 GRIBOK
2625 AIST.753712.001 RUCHKA
2626 AIST.757471.005 BOLT F
2627 AIST.758121.001 BOLT
2700 ATB8.300.005 VALIK
2800 AVIM.758442.010 GAYKA
2900 BA8.226.305-03 VTULKA
2901 BA8.226.305-04 VTULKA
2902 BA8.226.305-306-02 VTULKA
2903 BA8.226.310-03 VTULKA
2904 BA8.226.310-04 VTULKA
2905 BA8.226.310-05 VTULKA
2906 BA8.226.314-19 VTULKA
2907 BA8.226.314-30 VTULKA
2908 BA8.226.314-37 VTULKA
2909 BA8.226.327-25 VTULKA
2910 BA8.226.327-27 VTULKA
2911 BA8.226.327-29 VTULKA
2912 BA8.226.344-03 VTULKA F
2913 BA8.300.998 VALIK F S
2950 BA9.110.147 VTULKA
2951 BA9.110.147-01 VTULKA F
2952 BA9.110.147-02 VTULKA
2953 BA9.110.147-03 VTULKA
2954 BA9.110.147-04 VTULKA
2955 BA9.110.147-05 VTULKA
2956 BA9.110.147-06 VTULKA
2957 BA9.110.150-03 VTULKA
2958 BA9.110.150-04 VTULKA
3000 BD8.318.147 OS
3100 E73.331.4881 VTULKA
3101 E73.338.4992 SHTIR
3102 E73.338.4992-01 SHTIR
3103 E73.338.4992-02 SHTIR
3104 E73.338.4993 SHTIR F
3105 E73.338.4993-01 SHITR F
3106 E73.338.4993-02 SHTIR F
3200 EI7.014.007 PORSHEN
3201 EI7.014.007-01 PORSHEN
3250 EI8.220.512-03 VTULKA
3251 EI8.220.512-04 VTULKA
3252 EI8.220.512-05 VTULKA
3253 EI8.223.521 VTULKA
3254 EI8.223.522 VTULKA F S
3255 EI8.223.523 VTULKA
3256 EI8.223.534 VTULKA
3257 EI8.229.055 VTULKA KONUSNAYA
3258 EI8.239.077 CANGA
3259 EI8.240.125 KOLCO
3260 EI8.300.138 OS
3261 EI8.314.170 OS
3262 EI8.318.093 OS
3263 EI8.319.038 OS F
3264 EI8.327.046 PALEC
3265 EI8.327.046-01 PALEC
3266 EI8.354.006 SHARNIR F S
3267 EI8.663.045 KOLCO
3268 EI8.907.010 VINT F
3269 EI8.914.035 VVERTISH F
3270 EI8.916.056 VINT
3271 EI8.926.001 BOLT
3272 EI8.927.212 SHPILKA
3273 EI8.935.177 GAYKA F
3300 EO.768.758161.000 VINT 4X12
3400 ES7.320.013 VTULKA
3401 ES7.732.991 KONTAKT
3402 ES7.733.018 KONTAKT
3403 ES7.733.018-01 KONTAKT
3404 ES7.733.018-02 KONTAKT
3405 ES7.734.215 SHPILKA
3406 ES7.740.193 SHTIR
3407 ES7.740.201 SHTIR
3408 ES7.749.017 CANGA
3450 ES8.123.041 NAKONECHNIK F
3451 ES8.126.399 SHTIR-LOVITEL
3452 ES8.126.737 SHTIR
3453 ES8.126.940 STERJEN
3454 ES8.126.961-01 DERJATEL F
3455 ES8.127.000-01 SHTIR
3456 ES8.127.000-02 SHTIR
3457 ES8.127.031 SHTIR
3458 ES8.127.060 DERJATEL
3459 ES8.127.060 DERJATEL F
3460 ES8.206.022 ROLIK
3461 ES8.220.971 VTULKA
3462 ES8.221.112 VTULKA
3463 ES8.221.563 VTULKA
3464 ES8.221.840 VTULKA
3465 ES8.224.966 VTULKA
3466 ES8.225.183 VTULKA
3467 ES8.226.051 VTULKA
3468 ES8.226.059 VTULKA
3469 ES8.226.143 VTULKA
3470 ES8.226.146 VTULKA
3471 ES8.226.173 VTULKA
3472 ES8.226.173-01 VTULKA
3473 ES8.226.194 VTULKA
3474 ES8.228.192 VTULKA F
3475 ES8.228.199 VTULKA
3476 ES8.240.232 KOLCO
3477 ES8.242.038 KOLCO
3478 ES8.314.006 OS
3479 ES8.314.613 OS
3480 ES8.314.698 OS
3481 ES8.314.818 OS
3482 ES8.318.092 OS
3483 ES8.327.598 PALEC
3484 ES8.663.444 KOLCO UPORNOE
3485 ES8.671.276 RUCHKA
3486 ES8.908.034 VINT
3487 ES8.935.857 GAYKA
3488 ES8.935.861 GAYKA F
3489 ES8.955.022 VTULKA
3500 EU8.220.391 VTULKA
3550 EU9.440.644 SHAYBA
3600 GR7.732.632 KONTAKT F
3650 GR8.221.267-27 VTULKA
3651 GR8.221.267-32 VTULKA
3652 GR8.221.267-39 VTULKA
3653 GR8.221.267-45 VTULKA
3654 GR8.927.583 SHPILKA
3655 GR8.927.587 SHPILKA
3700 HEC8.241.014 KOLCO
4100 MVIA.578292.001 SHPILKA
4101 MVIA.711141.021 VTULKA
4102 MVIA.711263.002 VVERTISH
4103 MVIA.711263.002-01 VVERTISH F
4104 MVIA.711263.002-02 VVERTISH F
4105 MVIA.711263.003 VTULKA
4106 MVIA.711263.004 VTULKA
4107 MVIA.711263.005 FUTORKA F
4108 MVIA.711263.005-01 FUTORKA F
4109 MVIA.711351.008 VTULKA
4110 MVIA.711641.003 VTULKA
4111 MVIA.711641.003-01 VTULKA
4112 MVIA.711661.001 VTULKA
4113 MVIA.711661.001-01 VTULKA
4114 MVIA.712241.009 KOLCO
4115 MVIA.713143.002 VTULKA
4116 MVIA.713163.005 VTULKA
4117 MVIA.713223.001 VINT
4118 MVIA.713223.001-01 VINT
4119 MVIA.713233.001 VTULKA
4120 MVIA.713263.003-01 VTULKA
4121 MVIA.713263.003-02 VTULKA
4122 MVIA.713263.003-03 VTULKA
4123 MVIA.713263.003-04 VTULKA
4124 MVIA.713263.004 VTULKA F
4125 MVIA.713263.004-01 VTULKA
4126 MVIA.713323.003 VTULKA
4127 MVIA.713343.007 VTULKA F
4128 MVIA.713353.001 NAKONECHNIK F
4129 MVIA.713361.015 VTULKA
4130 MVIA.713361.017 VTULKA
4131 MVIA.713361.018 VTULKA
4132 MVIA.713371.005 VTULKA
4133 MVIA.713513.007 VINT
4134 MVIA.713534.001 DERJATEL
4135 MVIA.713545.002 VTULKA
4136 MVIA.713565.001 KORPUS
4137 MVIA.714311.003 VTULKA
4138 MVIA.715112.014 OS
4139 MVIA.715163.002 VTULKA
4140 MVIA.715312.007 OS
4141 MVIA.715312.014 FLANEC
4142 MVIA.715322.006 STERJEN
4143 MVIA.715322.006-01 STERJEN
4144 MVIA.715322.007 STERJEN
4145 MVIA.715322.007-01 STERJEN
4146 MVIA.715511.006 SHTOK
4147 MVIA.715511.019 SHTIR
4148 MVIA.715511.020 SHTIR F
4149 MVIA.715511.021 SHTIR
4150 MVIA.715511.039 OS
4151 MVIA.715511.040 SHPILKA
4152 MVIA.715511.041 SHTIR
4153 MVIA.715511.049 SHTIR
4154 MVIA.715511.050 SHTIR
4155 MVIA.715511.057 SHTIR F
4156 MVIA.715511.058 SHTIR
4157 MVIA.715511.061 SHTIR
4158 MVIA.715511.061-01 SHTIR
4159 MVIA.715511.075 OS
4160 MVIA.715511.078 POLUOS
4161 MVIA.715511.079 SHTIR
4162 MVIA.715511.079-01 SHTIR
4163 MVIA.715511.079-02 SHTIR
4164 MVIA.715513.006 OS
4165 MVIA.715522.002 OS
4166 MVIA.715522.002-01 OS
4167 MVIA.715522.005 SHPILKA
4168 MVIA.715522.005-01 SHPILKA
4169 MVIA.715712.001 BOLT
4170 MVIA.715714.002 STERJEN
4171 MVIA.716411.001 VINT
4172 MVIA.716411.006 SHTIR F
4173 MVIA.716411.009 SHTIR
4174 MVIA.716411.009 SHTIR F
4175 MVIA.716411.011 SHTIR F
4176 MVIA.716411.012 SHTIR F
4177 MVIA.716411.012-01 SHTIR F
4178 MVIA.716411.012-02 SHTIR F
4179 MVIA.716514.002 TOLKATEL
4180 MVIA.716531.004 BOLT
4181 MVIA.751744.001 VILKA F
4182 MVIA.751744.002 VILKA F
4183 MVIA.751744.002 VTULKA F
4184 MVIA.751861.001 GAYKA
4185 MVIA.751861.002 GAYKA
4186 MVIA.753114.001 GOLOVKA F
4187 MVIA.754176.026-01 KOLCO
4188 MVIA.757471.007 KONTAKT F S
4189 MVIA.758123.004 VINT
4190 MVIA.758131.001 VINT
4191 MVIA.758131.002 VINT
4192 MVIA.758151.005 VINT
4193 MVIA.758152.003 VINT
4194 MVIA.758152.005 DERJATEL
4195 MVIA.758153.003 VINT
4196 MVIA.758156.006 VINT
4197 MVIA.758161.005 VINT
4198 MVIA.758223.004 VINT
4199 MVIA.758291.003 SHPILKA F
4200 MVIA.758412.005 GAYKA F
4201 MVIA.758412.006 GAYKA F
4202 MVIA.758412.006 GAYKA
4203 MVIA.758441.007 VTULKA
4204 MVIA.758442.005 GAYKA
4300 NEA7.746.066 GNEZDO F
4350 NEA8.223.116 VTULKA
4351 NEA8.679.057 PUGOVKA
4352 NEA8.919.051 VINT F
4400 NLP8.902.018 VINT
4401 NLP8.903.037 VINT
4402 NLP8.930.049 GAYKA F
4500 OST.107.670.111.001-86 SHAYBA VID5
4600 OST4.G0.822.200 VTULKA 2.7X6
4601 OST4.G0.822.200 VTULKA 3.2X3
4602 OST4.G0.822.200 VTULKA 3.2X5
4603 OST4.G0.822.200 VTULKA 3.2X8
4604 OST4.G0.822.200 VTULKA 3.2X14
4605 OST4.G0.892.006 SHPILKA 4X10
4606 OST4.G0.892.006 SHPILKA 4X16
4607 OST4.G0.892.006 SHPILKA 6X10
4608 OST4.G0.893.013 GAYKA M4
4609 OST4.G0.893.014 GAYKA M4
4610 OST4.G0.893.015 GAYKA 4X12
4700 PM8.902.059 VINT
4900 SKID.715521.002 STERJEN
4901 SKID.715521.002-02 STERJEN
4902 SKID.757471.002-01 STERJEN
4903 SKID.757471.002-02 STERJEN
4904 SKID.757471.009-02 KONTAKT
5000 UPIA.713263.002-02 VTULKA F
5001 UPIA.713263.002-03 VTULKA
5002 UPIA.713263.002-04 VTULKA F
5003 UPIA.713263.002-05 VTULKA F
5004 UPIA.713363.002-04 VTULKA
5100 UVAI.303659.053 KONTAKT F
5101 UVAI.711122.006 VTULKA
5102 UVAI.711141.033 KOLCO
5103 UVAI.711141.155 KOLCO
5104 UVAI.711141.157 KOLCO
5105 UVAI.711141.166 KOLCO
5106 UVAI.711141.224 KOLCO
5107 UVAI.711141.567 VTULKA
5108 UVAI.711141.568 VTULKA
5109 UVAI.711161.014 KOLCO
5110 UVAI.711161.014-01 KOLCO
5111 UVAI.711312.032 LOVITEL
5112 UVAI.711341.174 VTULKA
5113 UVAI.711513.004 SHARNIR N
5114 UVAI.711521.003 REPER
5115 UVAI.711763.003 VTULKA F
5116 UVAI.712723.001 PROBKA
5117 UVAI.713111.022 PALEC
5118 UVAI.713141.023 VTULKA
5119 UVAI.713141.047 VTULKA
5120 UVAI.713141.155 VTULKA
5121 UVAI.713141.206 VTULKA F S
5122 UVAI.713141.328-02 VTULKA
5123 UVAI.713141.358 VTULKA N
5124 UVAI.713143.004 PALEC
5125 UVAI.713165.002 VTULKA
5126 UVAI.713165.002-01 VTULKA
5127 UVAI.713213.004 PROBKA
5128 UVAI.713261.031 VTULKA
5129 UVAI.713261.031-01 VTULKA
5130 UVAI.713311.066 VTULKA
5131 UVAI.713314.001 VTULKA
5132 UVAI.713331.008 VTULKA
5133 UVAI.713331.009 VTULKA
5134 UVAI.713341.013 VTULKA
5135 UVAI.713341.013-01 VTULKA
5136 UVAI.713341.013-02 VTULKA
5137 UVAI.713341.024 VTULKA
5138 UVAI.713341.024-01 VTULKA
5139 UVAI.713341.082 VTULKA
5140 UVAI.713351.016 STERJEN
5141 UVAI.713351.025 NIPPEL
5142 UVAI.713351.068 VTULKA
5143 UVAI.713351.069 NIPPEL
5144 UVAI.713361.046 VTULKA
5145 UVAI.713411.023 OS
5146 UVAI.713452.003 VTULKA
5147 UVAI.713452.007 VTULKA
5148 UVAI.713511.028 OS
5149 UVAI.713511.064 SHTIR N
5150 UVAI.713557.010 KORPUS
5151 UVAI.713561.002 VTULKA F
5152 UVAI.713737.009 GNEZDO
5153 UVAI.713737.009 GNEZDO F
5154 UVAI.714311.002 VTULKA F
5155 UVAI.714331.020 VTULKA
5156 UVAI.714623.001 SHTIR
5157 UVAI.714741.001 STERJEN F
5158 UVAI.714741.002 STERJEN F
5159 UVAI.715111.047 OS
5160 UVAI.715111.050 OS
5161 UVAI.715111.255 OS
5162 UVAI.715111.275 SHTIFT
5163 UVAI.715112.024 OS
5164 UVAI.715112.024-01 OS
5165 UVAI.715112.129 OS N
5166 UVAI.715121.086 SHTIR
5167 UVAI.715121.087 SHTIR
5168 UVAI.715141.013 VTULKA
5169 UVAI.715141.018 OS
5170 UVAI.715141.030 OS
5171 UVAI.715211.011 OS
5172 UVAI.715211.021 OS N
5173 UVAI.715211.022 SHTIFT
5174 UVAI.715213.020 OS N
5175 UVAI.715214.004 OS
5176 UVAI.715214.005-01 OS
5177 UVAI.715312.009 OS
5178 UVAI.715312.028 OS
5179 UVAI.715312.047-01 OS
5180 UVAI.715312.061 OS
5181 UVAI.715312.067 OS
5182 UVAI.715321.025 VTULKA
5183 UVAI.715331.005 STERGEN
5184 UVAI.715331.005 STERJEN
5185 UVAI.715331.005-01 STERGEN
5186 UVAI.715341.008 VTULKA
5187 UVAI.715411.009 STERJEN
5188 UVAI.715411.009-01 STERJEN
5189 UVAI.715411.009-02 STERJEN
5190 UVAI.715411.011 STERJEN
5191 UVAI.715411.011-01 STERJEN
5192 UVAI.715411.011-02 STERJEN
5193 UVAI.715411.029-01 STERJEN
5194 UVAI.715411.029-03 STERJEN
5195 UVAI.715411.049 LOVITEL F
5196 UVAI.715411.049-01 LOVITEL F
5197 UVAI.715411.054 LOVITEL F
5198 UVAI.715411.054-01 LOVITEL F
5199 UVAI.715411.071 LOVITEL
5200 UVAI.715411.072 LOVITEL
5201 UVAI.715411.072 LOVITEL F
5202 UVAI.715423.005-02 GNEZDO F
5203 UVAI.715431.003 OS
5204 UVAI.715431.003-01 OS
5205 UVAI.715511.011 OS
5206 UVAI.715511.012 OS
5207 UVAI.715511.018 OS
5208 UVAI.715511.018-01 OS
5209 UVAI.715511.022 OS
5210 UVAI.715511.059 PALEC
5211 UVAI.715511.109 STERJEN
5212 UVAI.715511.109-01 STERJEN
5213 UVAI.715511.110 STERJEN
5214 UVAI.715513.035 LOVITEL
5215 UVAI.715513.038 SHTIR F
5216 UVAI.715513.038-01 SHTIR F
5217 UVAI.715513.043 SHTIR F
5218 UVAI.715513.043-01 SHTIR F
5219 UVAI.715513.045 SHTIR F
5220 UVAI.715513.045-01 SHTIR F
5221 UVAI.715513.046 SHTIR F
5222 UVAI.715513.046-01 SHTIR
5223 UVAI.715531.005 KONTAKT
5224 UVAI.715623.016 GNEZDO
5225 UVAI.715623.018-01 GNEZDO
5226 UVAI.715623.041 SHTIR
5227 UVAI.715711.009 OS
5228 UVAI.715711.010 OS
5229 UVAI.715713.012 LOVITEL F
5230 UVAI.715713.016 LOVITEL F
5231 UVAI.716313.013 KONTAKT
5232 UVAI.716411.007 SHTIR F
5233 UVAI.716411.019 SHTIR
5234 UVAI.716411.029 SHTIR
5235 UVAI.716411.032 SHTIR
5236 UVAI.716411.034 SHTIR
5237 UVAI.716411.034 SHTIR F
5238 UVAI.716431.001 SHTIR
5239 UVAI.716431.002 SHTIR
5240 UVAI.716511.017 OS N
5241 UVAI.716514.003 STERJEN
5242 UVAI.716711.002 LOVITEL F
5243 UVAI.723211.004 KOLCO
5244 UVAI.723231.008 CANGA
5245 UVAI.723231.010 VTULKA
5246 UVAI.726281.001 CAPFA F
5247 UVAI.731146.011 SHAYBA
5248 UVAI.731146.012 SHAYBA
5249 UVAI.741422.003 BONKA
5250 UVAI.752282.002 NIPPEL N
5251 UVAI.753712.018 RUCHKA
5252 UVAI.758121.138 BOLT F
5253 UVAI.758123.012 SHTIFT
5254 UVAI.758123.016 VINT F
5255 UVAI.758123.018 ZAGLUSHKA
5256 UVAI.758124.015 BOLT
5257 UVAI.758126.018 VINT F
5258 UVAI.758131.018 BOLT
5259 UVAI.758131.036 GAYKA
5260 UVAI.758133.003 PALEC
5261 UVAI.758133.003 VINT
5262 UVAI.758151.015 VINT
5263 UVAI.758151.022 VINT N
5264 UVAI.758151.027 VINT
5265 UVAI.758153.030 VINT
5266 UVAI.758163.024 VINT
5267 UVAI.758193.024 BOLT
5268 UVAI.758222.011 VINT
5269 UVAI.758223.004 VINT
5270 UVAI.758274.001 SHPILKA
5271 UVAI.758291.014 SHPILKA
5272 UVAI.758291.018 SHPILKA
5273 UVAI.758293.003 SHPILKA
5274 UVAI.758295.015 SHPILKA F
5275 UVAI.758343.018 SHTIFT
5276 UVAI.758343.018-01 SHTIFT
5277 UVAI.758343.029 SHTIFT
5278 UVAI.758345.008 SHTIFT
5279 UVAI.758345.008-01 SHTIFT
5280 UVAI.758345.008-02 SHTIFT
5281 UVAI.758416.001 GAYKA F
5282 UVAI.758442.012 GAYKA
5283 UVAI.758442.013 GAYKA
5284 UVAI.758442.026 GAYKA
5285 UVAI.758442.028 GAYKA
5286 UVAI.758442.029 GAYKA
5287 UVAI.758449.003 GAYKA
5288 UVAI.758451.009 GAYKA F S
5289 UVAI.758451.030 VTULKA N
5290 UVAI.758451.032 VTULKA N
5291 UVAI.758452.007 GAYKA
5292 UVAI.758454.003 GAYKA
5293 UVAI.758454.008 GAYKA F
5294 UVAI.758491.018 SHAYBA
5295 UVAI.758491.280 SHAYBA
5296 UVAI.758491.280-01 SHAYBA
5300 VEKD 1701.40.04.101 SHTIFT
5301 VEKD 1701.40.05.101 SHTIFT
5450 VR8.223.404 VTULKA
5451 VR8.240.002 KOLCO
5452 VR8.240.005 KOLCO
5453 VR8.930.064 GAYKA F
5454 VR8.930.066 GAYKA F
5455 VR8.935.055 GAYKA F
5500 VU8.206.013 ROLIK
5501 VU8.310.057 OS
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
20.04.2025, 23:09  [ТС]
что такое 'BA9.110.147-04' для деталей типа vtulka, часть названия чертежа ?
UVAI.753712.018 RUCHKA - а тут где что ? Польза от такого имени есть ?
это именно название чертежа , а не его часть, что-бы найти программу больше ничего и не надо , вся остальная информация о диаметрах и длинах находится внутри самой программы

Список который вы предожили я такой уже использовал , причем практически один в один как у вас , теперь смотрите , принесли чертеж
UVAI.711141.156 KOLCO, как нам поместить его между O5103 и O5104 ?

Надо сказать, в старших ячейках имена программ относительно приличные,
а в начальных ячейках в именах почти ничего и нет
вся нужная информация в этих начальных ячейках для оператора присутствует , пример 17473 3х8 , 17473-это гост , для знающего человека сразу понятно что это винт , 3-это диаметр резьбы М3 , 8-это длина винта

Добавлено через 14 минут
VTULKA, KOLCO, PALEC, NAKONECHNIK, SHTIFT, FUTORKA, VINT, KORPUS, SHPILKA - это хорошо; данные типы всегда в конце имени ?
А остальное как разобрать ?
Где внутренний диаметр ?
Где внешний ?
Где материал ?
это совершенно не нужно , все это есть на чертеже и внутри самой программы , зачем это писать еще и в имя файла , к тому же имя файла ограничено , в 32 сообщении на второй фотографии програама MVIA.713353.001 NAKONECHNIK F , если я и занесу туда информацию о диаметрах , материале и тд , ее просто не будет видно
0
 Аватар для volodin661
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,053
21.04.2025, 00:06
Dez33,

Вот содержимое файла с именем допустим А.CNC

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
O0001(1207 2.5X8)
(1M6)(ST20)(5) 
 
M98P7001 
 
T303(P)
S3500M3
G0Z-1
G0X6 
G1X-0.5F0.2
G1Z-0.3F0.2
G1Z0F0.01
G1X1.9F0.03
G1X2.38W0.25F0.01
G1X2.4Z8F0.03
G1X4.9F0.03
G1W0.3F0.03
G0X60
T0 
 
M98P6002 
 
T303(P)
S3500M3
G0Z7.5 
G0X6 
G1X4.4F0.2 
G1U-0.25F0.2 
G1Z8F0.1 
G1U0.25W0.125F0.01 
G1W0.1F0.03
G1X4.1Z9.73F0.02 
G1Z10.75F0.03
G1X4.9F0.03
G1W0.3F0.03
G0X60
T0 
 
T101(O)(1) 
S3250M3
G0Z10.73 
G0X6 
G1W-0.25F0.2 
G1X4.4F0.1 
G1W0.25U-0.5F0.01
G1X-1F0.01 
 
M98P7003
Если я отредактирую номер ячейки,

сделаю его O1111

и загружу данный файл обратно в станок, то что произойдёт ?

перезапишется содержимое программы из ячейки 1111 на станке на то, что находится в данном файле ?
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
21.04.2025, 00:17
Вы до сих пор ещё сортируете?)))

Если я отредактирую номер ячейки,

сделаю егоO1111
а я может пропустил, скинь название и модель станка, я не то чтобы все знаю, но писал G-код интерпретаторы для разных фрезерных, токарных, электроээрозионных, там по ГОСТ
O1111 - это номер подпрограммы, она может быть как в отдельном файле, так и в основном, смысл этого такой, чтобы ты мог её вызвать через M98, где укажешь номер подпрограммы, и так же опционально сколько раз её вызывать, типа в таком виде
M98 P11111 N10
что такое номер ячейки я в ГОСТ не видел, возможно это просто файл, но были ЧПУ 4СК на моей памяти где номер ячейки это прям адрес в ОЗУ, лучше бы посмотреть что у тебя
0
 Аватар для volodin661
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,053
21.04.2025, 00:29
Цитата Сообщение от abit Посмотреть сообщение
лучше бы посмотреть что у тебя
у меня всё нормально, никто не жаловался, но показывать не буду.

автор темы - Dez33
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
21.04.2025, 01:01
Цитата Сообщение от volodin661 Посмотреть сообщение
но показывать не буду
стесняешься?) да я уже потерял нить беседы, так бывает, когда тема не соответствует содержимому, просто предложил помочь, я имел богатый опыт в разработке интерпретаторов для G-кодов
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 06:34  [ТС]
Если я отредактирую номер ячейки,
сделаю егоO1111
если ячейка О1111 уже существует , то записать в нее станок уже не даст , сначала потребуется удалить O1111

Добавлено через 19 минут
abit,
там по ГОСТ
O1111 - это номер подпрограммы, она может быть как в отдельном файле, так и в основном, смысл этого такой, чтобы ты мог её вызвать через M98
подпрограммой может стать любая ячейка хоть О1111 , хоть О0001 , я скинул файл станка , если посмотреть из чего он состоит то видно что любая прога из 800 содержит в себе как минимум две подпрограммы О7001 и О7003 , подпрограммы делаются в основе своей для того чтобы не писать в каждой программе часто повторяющиеся блоки , такие как начало программы и конец , резьбы , перехваты вторым шпинделем и тд. У нас станок Hanwha XP16S это автомат продольного точения , стойка Fanuc 0i TD , на нашем станке что бы несколько раз выполнить программу не обязательно использовать М98(вызов подпрограммы) и Lxxx(количество повторов) для зацикливания программы у нас есть отдельная физическая клавиша
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 08:23  [ТС]
Еще раз напомню , как это делаю я
1. Разрезаю файл на отдельные программы , с помощью этого
PowerShell
1
2
3
4
5
6
7
8
9
10
[String]$file="1.TXT"
 
$rx      = '(?ms)/?O\d+[(](.+?)[)].+?(?=/?O\d+|\z)'
$content = Get-Content $file -raw
$mmm     = [regex]::Matches($content, $rx)
 
foreach ( $m in $mmm ) {
    $dst = $m.Groups[1].Value + ".TXT"
    "$m" -replace '\s\r\n', "`r`n" -replace 'M98P7003[\r\n]+', 'M98P7003' -replace '/M98P7003', "/M98P7003`r`n" | out-file $dst -nonewline
}
2.В Total Commander они расположены в алфавитно-числовой сортировки , групповым переименованием присваиваю им номера(далее прикреплю скрин)

3.В программе TXTCollector объединяю эти файлы в один(Прикреплю скрин)

4.В получившемся большом файле с помощью другой проги переписываются OXXXX если они идут не по порядку.
если было так:

O0001
O0002
O0005
O0003
O0004

то после четвертого пункта будет так
O0001
O0002
O0003
O0004
O0005
Далее сделаю ее скрин

Второй третий , а лучше и четвертый пункт хочется делать в powershell , без применения других прог

Вот это код сортирует не так как Total Commander
PowerShell
1
2
3
4
5
$abcnum = {$_ -replace '\d+',{$_.value.padleft(50,'0')}}
Get-ChildItem -Path "C:\Test2\*.txt" | 
Sort-Object $abcnum | 
ForEach-Object { Get-Content $_.FullName } | 
Out-File -Path "C:\Input.txt"
Total это делает так:
1491 5X18
1491 5X18 N
1491 5X20
1491 5X20 N

а после кода который выше так:
1491 5X18 N
1491 5X18
1491 5X20 N
1491 5X20

На все эти действия у меня уходит примерно минута
Миниатюры
Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой   Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой   Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой  

0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
21.04.2025, 15:09
Лучший ответ Сообщение было отмечено Dez33 как решение

Решение

Цитата Сообщение от Dez33 Посмотреть сообщение
Вот два файла , один со станка , другой после всех моих манипуляций
В файле, который после манипуляций, содержит ошибки/неточности... программы отличаются от исходных... ну, да ладно, не в этом соль.
Вот скрипт, собранный по-быстрому (возможны неточности и баги, необходима доскональная проверка):
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Путь к файлу, считанному с ЧПУ:
$filein = '.\TEST\all-prog.txt'
 
# Путь к готовому файлу для заливки в ЧПУ:
$fileout = '.\TEST\all-prog_out.txt'
 
# Регулярки для работы с именами:
$reg = '^O\d{4}'
$regnumname = '^(O\d{4})\(?([^\(\)]+)\)?'
 
# Алгоритм сортировки:
$alphanum = {$_.name -replace '\d+',{$_.value.padleft(30,'0')}}
 
$basetxt = gc $filein -raw -enc utf8
$base = $basetxt -split '\n'
#$base.length
 
$bw = $null
$flg = $false
$bwork = [collections.generic.list[string]]::new()
 
$bw = foreach ($item in $base){
    if ($item -match '%'){if ($flg){$flg = $false}else{$flg = $true}}
    if ($flg -and $item -notmatch '%'){
        if ($item -match $reg){
            if ($bwork){
                [pscustomobject]@{
                    Number = $num
                    Name = $name
                    Data = $bwork -join "`n"
                }
                $bwork = [collections.generic.list[string]]::new()
            }
            $item -match $regnumname|out-null
            $num,$name = $matches[1],$matches[2]
        } else {
            $bwork.add($item)
        }
    } elseif (!$flg -and $item -match '%'){
        if ($bwork){
            [pscustomobject]@{
                Number = $num
                Name = $name
                Data = $bwork -join "`n"
            }
        }
        $bwork = [collections.generic.list[string]]::new()
    }
}
 
$bw|sort $alphanum|%{$i=1;"%"}{
    "O"+$("$i".padleft(4,'0'))+'('+$_.name+')'+"`n"+$_.data
    $i++
}{"%"}|out-file $fileout
 
# Проверочные списки имен для сравнения, в конечном скрипте можно удалить:
#===здесь формируются файлы с несортированными и сортированными именами===
# как в файле, считанном с ЧПУ:
$bw|select number,name|%{$_.number+'('+$_.name+')'}|
out-file '!nosortname.txt'
 
# отсортированные имена с новыми номерами:
$bw|sort $alphanum|%{$i=1}{
    "O"+$("$i".padleft(4,'0'))+'('+$_.name+')'
    $i++
}|out-file '!sortname.txt'
#=======================end===============================================
- комментари есть. Если будут вопросы - пишите.
1
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 15:23  [ТС]
В файле, который после манипуляций, содержит ошибки/неточности... программы отличаются от исходных
Вроде за все это время не замечал неточностей , по крайней мере не каких аварий не происходило
Ткните пожалуйста носом где проги отличаются от исходных
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
21.04.2025, 15:56
Цитата Сообщение от Dez33 Посмотреть сообщение
Вроде за все это время не замечал неточностей , по крайней мере не каких аварий не происходило
Ну, я-то всех нюансов не знаю, возможно, так и должно быть...
Например, в исходном файле присутствует две программы с именем (10344 6X18), под номерами O0142 и O0143 - они разные, но для сортировки - монопенисуальные, но дело даже не в дублях, а в том, что в файле после манипуляций, такая программа только одна...

Добавлено через 2 минуты
В общем, вышеприведенный скрипт такие ситуации разруливать не умеет и программы останутся обе, он лишь сортирует их по именам...
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 16:14  [ТС]
я как то неправильно его запускаю ?

Файл который я прикрепил он 2024года , только такой у меня был дома, возможно тогда были дубли , сегодня скачаю последний ,там дублей вроде не наблюдается
Миниатюры
Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой  
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
21.04.2025, 16:17
Цитата Сообщение от Dez33 Посмотреть сообщение
я как то неправильно его запускаю ?
Нет. Судя по всему, не существует пути "C:\TEST\TEST\*.*", т.к. ни считать, ни записать скрипт не может...
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 16:42  [ТС]
если я создаю внутри папки Test еще одну папку Test , то будет такая ошибка "C:\TEST\TEST\TEST\*.*"
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
21.04.2025, 17:17
Dez33, напишите в скрипте путь к файлам и к считываемому, и к тому, который получится на выходе (там комментарии есть), можно абсолютный путь. Каталоги, указанные в пути, должны существовать.

Добавлено через 1 минуту
Цитата Сообщение от YuS_2 Посмотреть сообщение
# Путь к файлу, считанному с ЧПУ:
$filein = '.\TEST\all-prog.txt'
# Путь к готовому файлу для заливки в ЧПУ:
$fileout = '.\TEST\all-prog_out.txt'
Например, так:
PowerShell
1
$filein = 'C:\TEST\all-prog.txt'
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 17:48  [ТС]
# Путь к файлу, считанному с ЧПУ:
$filein = 'С:\TEST\all-prog.txt'

# Путь к готовому файлу для заливки в ЧПУ:
$fileout = 'C:\TEST\TEST1\all-prog_out.txt'

Пути прописаны , каталоги созданы
Миниатюры
Групповое переименование и объединение файлов txt, с алфавитно-числовой сортировкой  
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
21.04.2025, 18:07
Цитата Сообщение от Dez33 Посмотреть сообщение
Пути прописаны , каталоги созданы
интересный у Вас powershell
-raw - ссылка на доку

Добавлено через 13 минут
попробуйте добавить перед строкой:
PowerShell
1
$basetxt = gc $filein -raw -enc utf8
тест пути, вот так:
PowerShell
1
2
test-path $filein
$basetxt = gc $filein -raw -enc utf8
результат покажите
0
2 / 2 / 0
Регистрация: 23.08.2023
Сообщений: 67
21.04.2025, 20:31  [ТС]
добавил

теперь так
PS C:\Users\admin> cd c:\test
PS C:\TEST> ."111.ps1"
False
Get-Content: C:\TEST\111.ps1:15
Line |
15 | $basetxt = gc $filein -raw -enc utf8
| ~~~~
| A parameter cannot be found that matches parameter name 'raw'.
PS C:\TEST>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2025, 20:31

Групповое переименование файлов
Прошу прощения, если повторюсь и где-то уже дан ответ на этот вопрос, но я, к сожалению, не нашёл....

Групповое переименование файлов по маске
Доброго времени суток! В написании командных скриптов только разбираюсь. Помогите, пожалуйста,...

Групповое переименование файлов
Надеюсь, что раздел выбрал правильно. Подскажите пожалуйста, как переименовать файлы вида ...

Неправильная сортировка при групповом переименовании файлов
Имеются файлы вида 1.ext,2ext...100.ext... Задача привести их к виду скажем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru