home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.msdos.batch.nt      Fun with Windows NT batch files      68,980 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 67,300 of 68,980   
   Christian to All   
   Re: String (be)schneiden   
   15 Sep 18 04:27:27   
   
   From: yelw0rc@gmx.net   
      
   Am Samstag, 15. September 2018 10:53:57 UTC+2 schrieb Herbert Kleebauer:   
   > On 15.09.2018 02:27, Christian wrote:   
   > > Am Freitag, 14. September 2018 23:25:27 UTC+2 schrieb Herbert Kleebauer:   
   > >> On 14.09.2018 15:37, yelw0rc@gmx.net wrote:   
   > >> > Hallo,   
   > >> >    
   > >> > ich möchte gerne einen String um X Zeichen schneiden.   
   > >> >    
   > >> > Ich habe es mal so versucht.   
   > >> >    
   > >> > set /a New_StrLength=%StrLength%-25 // New_StrLength=47   
   > >> > echo.%String:~0,%New_StrLength% <-- funktioniert so nicht   
   > >> > echo.%String:~0,%New_StrLength%% <-- auch so nicht   
   > >> >    
   > >> > echo.%String:~0,47% <-- bringt zwar das gewünschte Ergebnis, soll aber   
   > >> >                          variabel sein   
   > >> >    
   > >> > Wie macht man es richtig?   
   > >>    
   > >> @echo off   
   > >>    
   > >> set String=123456789012345678901234567890123456   
   > >> set String=%String%%String%   
   > >> set StrLength=72   
   > >>    
   > >> set /a New_StrLength=%StrLength%-25   
   > >> call echo.%%String:~0,%New_StrLength%%%   
   > >>    
   > >> echo.%String:~0,47%   
   > >    
   > > Hallo Herbert,   
   > >    
   > > vielen Dank. Deine Lösung funktioniert erstmal. Zumindest wird das   
   > > gewünschte Ergebnis ausgegeben.   
   > > Mir ist nur nicht so ganz klar, wie ich die Ausgabe von   
   > >    
   > > call echo.%%String:~0,%New_StrLength%%%   
   > >    
   > > jetzt weiter verwerten kann.   
   > >    
   > > Das Ganze sieht nun so aus:   
   > >    
   > > @echo off   
   > > set String=C:\Users\xxxxxx\Desktop\System   
   > > set StrLength=30   
   > > set /a New_StrLength=%StrLength%-7   
   > > call echo.%%String:~0,%New_StrLength%%%   
   > >    
   > > Bei echo.%String% wird mir der "ungeschnittene" Pfad angezeigt.   
   > > call echo.%%String:~0,%New_StrLength%%% zeigt mir den "geschnittenen" Pfad.   
   > >    
   > > Wie kriege ich den "geschnittenen" Pfad jetzt in eine Variable, so dass ich   
   > > ihn weiter verwerten kann und in den Pfad mittels "cd %String%" wechseln   
   kann?   
   >    
   > call set String=%%String:~0,%New_StrLength%%%   
      
   Hallo Herbert,   
      
   bin zwischenzeitlich auch drauf gekommen.   
      
   So geht es. Vielen Dank.   
      
   @echo off   
   set String=C:\Users\xxxxxx\Desktop\System   
   set StrLength=30   
   set /a New_StrLength=%StrLength%-7   
   call set New_String=%%String:~0,%New_StrLength%%%   
   echo.%New_String%   
      
   Gruß   
   Christian   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca