Pytanie : Wsad Kartoteka: Usuwać przestrzeń w zmienna

Cześć tam,

I am dla sposób the przestrzeń w zmienna z mniej kod jako below.

For przykład, zamiast:  USTALONY A=%%A && USTALONY A=! A: =!
It być

Thanks dla twój pomoc,
Rene



WORKING PISMO:
************************** ********** ********** ********** *******
@ECHO OFF

setlocal enabledelayedexpansion
set String=This, być, a, duży sentence.

for /f "tokens=1-4 delims=," %%A wewnątrz ("echo! Sznurek! ") (
echo PRZEDTEM: %%A %%B %%C %%D
USTALONY A=%%A && USTALONY A=! A: =!
USTALONY B=%%B && USTALONY B=! B: =!
USTALONY C=%%C && USTALONY C=! C: =!
USTALONY D=%%D
)
echo PÓŻNIEJ: ! A! ! B! ! C! ! D!
pause


WANT ECHO LUBIĆ TEN (ALE CORSE, ONO PRACA)
************************** ********** ********** ********** *******
setlocal enabledelayedexpansion
set String=This, być, a, duży sentence.

for /f "tokens=1-4 delims=," %%A wewnątrz ("echo! Sznurek! ") (
echo PRZEDTEM: %%A %%B %%C %%D
USTALONY A=! %%A: =!
USTALONY B=! %%B: =!
USTALONY C=! %%C: =!
USTALONY D=%%D
)
echo PÓŻNIEJ: ! A! ! B! ! C! ! D!
pause

Odpowiedź : Wsad Kartoteka: Usuwać przestrzeń w zmienna

Niestety tam  być żadny sposób the uwydatniać zmienny podstawienie (jak charakter, lub charakter, etc z lub parm zmienna (%1, %2, %3,…) lub DLA pętla zmienna (%%A, %%B, %%C,…).  Smutny ale true.

Jeżeli ty chcieć the podejście kod troszkę cleaner ty móc ten podejście using nazwany subroutine.  Ono żyłować jakaś lewica lub prawy przestrzeń od the przechodzić sznurek, i przechować the rezultat w the zwany zmienna.

dla /f "tokens=1-5 delims=," %%A w ("%String%") (
  echo PRZEDTEM: %%A %%B %%C %%D %%E
  wezwanie: Podstrzyżenie "%%A" A
  wezwanie: Podstrzyżenie "%%B" B
  wezwanie: Podstrzyżenie "%%C" C
  wezwanie: Podstrzyżenie "%%D" D
  wezwanie: Podstrzyżenie "%%E" E
)
echo PÓŻNIEJ: %A% %B% %C% %D% %E%
fermata
wyjście /b

: Podstrzyżenie "input-zawiązywać" wracać-zmienna
  ustawiać s=%~1
  dla /F "tokens=* delims=" %%A w ("%s%") ustawiać s=%%A
  dla /L %%A wewnątrz (1,1,50) jeżeli "! s: ~-1! "=="" set s=! s: ~0, - (1)!
  set %~2=%s%
  wyjście /b

~bp
Inne rozwiązania  
 
programming4us programming4us