Frage : Reihen-Akte: Räume in der Variable entfernen

Hallo dort,

I morgens nach einer Weise suchend, die Räume in einer Variable mit weniger Code als below.

zum Beispiel, anstelle von zu entfernen:  A=%%A && GESETZTES A= EINSTELLEN! A: =!
It würde etwas wie sein:  A= EINSTELLEN! %%A: =!

Thanks für Ihre Hilfe,
Rene



WORKING INDEX:
************************** ********** ********** ********** *******
@ECHO OFF

setlocal enabledelayedexpansion
set String=This, ist, a, grosses sentence.
for/>
Echo VORHER: %%A %%B %%C %%D
GESETZTES A=%%A && GESETZTES A=! A: =!
GESETZTES B=%%B && GESETZTES B=! B: =!
GESETZTES C=%%C && GESETZTES C=! C: =!
GESETZTES D=%%D
)
echo NACHHER: ! A! ! B! ! C! ! D! das
pause


WANT, ZUM ETWAS ÄHNLICHES (ABER VON CORSE, TUT ES ZU TUN NICHT ARBEIT),
************************** ********** ********** ********** *******
setlocal enabledelayedexpansion
set String=This, ist, a, grosses sentence.
for/>
Echo VORHER: %%A %%B %%C %%D
GESETZTES A=! %%A: =!
GESETZTES B=! %%B: =!
GESETZTES C=! %%C: =!
GESETZTES D=%%D
)
echo NACHHER: ! A! ! B! ! C! ! D!
pause

Antwort : Reihen-Akte: Räume in der Variable entfernen

Leider gibt es keine Weise, den erhöhten variablen Ersatz zu tun (wie das Ersetzen der Buchstaben oder die Extrahierung der Buchstaben, des usw. mit jeder parm Variablen (%1, %2, %3,…) oder FÜR Schleifenvariablen (%%A, %%B, %%C,…).  Traurig aber ausrichten.

Wenn Sie den mainline Code halten möchten ein kleines Reinigungsmittel, konnten Sie diese Annäherung using eine benannte Subroutine tun.  Sie trimmt alle linken oder rechten Räume von der geführten Schnur und speichert das Resultat in der genannten Variable.

für /f „tokens=1-5 delims=,“ %%A innen („%String%") tun (
  Echo VORHER: %%A %%B %%C %%D %%E
  Anruf: Ordnung „%%A“ A
  Anruf: Ordnung „%%B“ B
  Anruf: Ordnung „%%C“ C
  Anruf: Ordnung „%%D“ D
  Anruf: Ordnung „%%E“ E
)
Echo NACHHER: %A% %B% %C% %D% %E%
Pause
/b herausnehmen

: „Die zurückbringen-variable Eingangschnur“ trimmen
  s=%~1 einstellen
  für /F „tokens=* delims=“ %%A innen („%s%") einstellen s=%%A en
  für /L %%A (1.1.50) innen tun wenn „! s: ~-1! „==““ einstellte s= te! s: ~0, - 1!
  Satz %~2=%s%
  /b herausnehmen

~bp
Weitere Lösungen  
 
programming4us programming4us