Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Pfadausschnitte

Frage Entwicklung

Mitglied: Spidi-25

Spidi-25 (Level 1) - Jetzt verbinden

27.04.2010 um 23:31 Uhr, 2827 Aufrufe, 3 Kommentare

Hallo alle zusammen

Ich hätte eine frage.

Sagen jemandem diese Zeichen was:



(setq DWG_ (getvar "dwgname")) ;; returns "filename-rev01.dwg"
(setq DWG_ (substr dwg_ 1 (- (strlen dwg_) 11))) ;;returns "filename"



Diese Zeichen kommen aus unserem Zeichnungsprogramm, damit kann ich aus dem Dateinamen von rechts 11 Zeichen entfernen.


und mit diesen Zeichen:

(setq DWG (getvar "dwgprefix")) ;; returns "filename-rev01.dwg"
(setq DWG (substr dwg 18 (- (strlen dwg) 23))) ;;returns "filename"


kann ich von dem Dateipfad 18 Zeichen von Links und 23 von rechts entfernen.

hier meine Frage

Kann man das ganze so Umstrukturieren damit folgendes gemacht wird, und so sieht der kompletter Dateipfad

V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen
V:\Allgemei\9000_Kunde08\9500_300_Test

momentan wird mit den unteren Zeichen folgendes ausgegeben: z.B. Kunde\9000_900_Randform_Biegen

sollte aber so aussehen:

erster Code: Kunde

zweiter Code: Randform_Biegen

habe noch rum experimentiertnur zum test geändert statt die variable (getvar "dwgprefix") folgendes eingesetzt "V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen" hatte auch funktioniert.

(setq name "V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen")
(setq name (substr name 16 (- (strlen name) 17)))



es wurde folgendes ausgeschpukt: Kunde9000_900_Randform_Bieg
allerdings ohne \ bei variable (getvar "dwgprefix") mit \


Ich bedanke mich im Voraus

Grüße Spidi-25
Mitglied: LotPings
27.04.2010 um 23:53 Uhr
Hallo Spidi-25,

deine Chancen auf sinnvolle Antworten steigen:
  • wenn du Ross und Reiter nennst, sprich dein "Zeichnungsprogramm" und ggfs verwendete Scriptsprache.
  • deine Code-Schnipsel übersichtlicher präsentierst, dafür gibt es die code-tags in der Formatierungshilfe

Gruß
LotPings
Bitte warten ..
Mitglied: Spidi-25
28.04.2010 um 07:10 Uhr
Hallo LotPings

Das handelt sich um Autocad die Scriptsprache kenne ich leider selbst nicht wirklich

im Prinzip brauche ich 2 Scripts

die mir folgendes herausholen aus: V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen raus ziehen

1.Kunde
2.Randform_Biegen

habe die Scripts noch abgekürzt und zwar so:

01.
(setq test (substr "V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen" 5 (- (strlen "V:\Allgemei\9000_Kunde\9000_900_Randform_Biegen") 6)))
bzw. mit Variable so:

01.
(setq test (substr  (getvar "dwgprefix") 5 (- (strlen  (getvar "dwgprefix")) 6)))
es wurde dann folgendes herausgespukt:

01.
lgemei9000_Kunde9000_900_Randform_Bieg
ich glaube das setq test ist nur dafür da damit es im Autocad gefunden wird.

Grüße Spidi-25
Bitte warten ..
Mitglied: Spidi-25
29.04.2010 um 15:59 Uhr
Hier die Antwort
01.
(defun RESTPATH (PATH / LST RESULT) 
02.
  (if (=(type PATH)'STR) 
03.
    (progn            
04.
      (while (or(vl-string-search "\\" path) 
05.
                (vl-string-search "/" path) 
06.
            )  
07.
        (setq path (vl-string-subst "\" \"" "\\" path)) 
08.
        (setq path (vl-string-subst "\" \"" "/" path)) 
09.
      )      
10.
      (if(and(setq LST (read (strcat "(\"" path "\")"))) 
11.
            (setq RESULT (cadddr LST)) 
12.
            (setq RESULT (substr RESULT 10)) 
13.
14.
        RESULT    
15.
16.
17.
  )  
18.
)
Aufruf
(RESTPATH "V:\\Allgemei\\9000_Kunde\\9000_900_Randform_Biegen\\")

Güße
Spidi-25

[Edit Biber] Code-Tags gibts heute auch mal für AutoCad... Thx @Spidi-25 für das Posten der Lösung! [/Edit]
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...