Jump to content

Как достать часть строки


PetkewichAndrej

Recommended Posts

PetkewichAndrej

    Добрый день, вопрос по PostBuild! Есть переменная $mom_output_file_full_name c помощью которой можно вывести полное имя файла программы, пример(D:\NX_2506\888-2222-11111\100.008\PRO_100_008\CAM_008_CHIST.MPF), как от сюда взять имя каталога куда программа попадает, в данном случае (PRO_100_008) , и потом вывести отдельно в строку этот каталог ??? 

   С помощью этого хочу решить следующую задачу ЧПУ Sinumerik 840d  :

%_N_0200_MPF
;$PATH=/_N_WKS_DIR/_N_999999_WPD
; /Start of Program
;
; /PART NAME   :D:\NX_2506\888-2222-11111\100.008\CAM_008_CHIST.prt
; /DATE TIME   :Thu Nov  6 11:20:11 2025
; /BASE NAME   :CAM_008_CHIST
; /FULL NAME   :D:\NX_2506\888-2222-11111\100.008\PRO_100_008\CAM_008_CHIST.MPF

 

надо что бы вместо 999999 подставлялось PRO_100_008.

или может есть другое какое решение?

 

 

Link to post
Share on other sites


UnPinned posts

Навскидку:

set a $mom_output_file_full_name

regsub {\\[^\\]*$} $a "" b

regexp {[^\\]*$} $b c

$c - искомое значение, между двумя последними "\".

 

Link to post
Share on other sites
1 час назад, KrivoShip сказал:

Навскидку:

set a $mom_output_file_full_name

regsub {\\[^\\]*$} $a "" b

regexp {[^\\]*$} $b c

$c - искомое значение, между двумя последними "\".

 

Могу ошибаться,  не такой ли результат выйдет?

 

set a "\path_1\folder\file.mpf"
regsub {\\[^\\]*$} $a "" b


$b = \path_1\folder

 

regexp {[^\\]*$} $b c


$c = path_1folder

Edited by an-kval
Link to post
Share on other sites
8 часов назад, an-kval сказал:

Могу ошибаться,  не такой ли результат выйдет?

Ошибся, проверил в postbuilder, работает. Вывод папки перед названием файла.

Link to post
Share on other sites

 

06.11.2025 в 11:38, PetkewichAndrej сказал:

    Добрый день, вопрос по PostBuild! Есть переменная $mom_output_file_full_name c помощью которой можно вывести полное имя файла программы, пример(D:\NX_2506\888-2222-11111\100.008\PRO_100_008\CAM_008_CHIST.MPF), как от сюда взять имя каталога куда программа попадает, в данном случае (PRO_100_008) , и потом вывести отдельно в строку этот каталог ??? 

   С помощью этого хочу решить следующую задачу ЧПУ Sinumerik 840d  :

%_N_0200_MPF
;$PATH=/_N_WKS_DIR/_N_999999_WPD
; /Start of Program
;
; /PART NAME   :D:\NX_2506\888-2222-11111\100.008\CAM_008_CHIST.prt
; /DATE TIME   :Thu Nov  6 11:20:11 2025
; /BASE NAME   :CAM_008_CHIST
; /FULL NAME   :D:\NX_2506\888-2222-11111\100.008\PRO_100_008\CAM_008_CHIST.MPF

 

надо что бы вместо 999999 подставлялось PRO_100_008.

или может есть другое какое решение?

 

 

 

Такие технические вопросы идеально решает любая нейронка. Вопрос типа напиши процедуру которая на языке TCL получает.....это......из ....этого. Причем с развернутым объяснением что ты даже что нибудь поймешь и сможешь использовать в последующем. 

Link to post
Share on other sites

ИИ частенько ошибаются. Например "галюцинируют". Да, несомненно помогают очень неплохо. Но нельзя отбрасывать и самостоятельное изучение материала. 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...