Questione : Schedario di lavoro: Rimuovere gli spazi nella variabile

Ciao là,

I che cerca un senso rimuovere gli spazi in una variabile con meno codice come below.

per esempio, anziché:  REGOLARE il && A= STABILITO di A=%%A! A: =! il
It sarebbe qualcosa come:  REGOLARE A=! %%A: =!

Thanks per il vostro aiuto, SCRITTO del
Rene



WORKING: il enabledelayedexpansion
set String=This del
@ECHO OFF

setlocal del ******* del del ********** del del ********** del del ********** del del ************************** del
, è, a, grande sentence.

for /f “,„ %%A dentro (“eco! Stringa! ") fare (eco del
PRIMA: && STABILITO A= STABILITO di %%A %%B %%C %%D
A=%%A! A: =! && STABILITO B= STABILITO del
B=%%B! B: =! && STABILITO C= STABILITO del
C=%%C! C: =!
echo del
D=%%D
) DOPO: ! A! ! B! ! C! ! D! il
pause


WANT PER FARE QUALCOSA DI SIMILE (MA DI CORSE, NON FA LAVORO) enabledelayedexpansion
set String=This del
setlocal del ******* del del ********** del del ********** del del ********** del del ************************** del
, è, a, grande sentence.

for /f “,„ %%A dentro (“eco! Stringa! ") fare (eco del
PRIMA: %%A %%B %%C %%D
A= STABILITO! %%A: =!
B= STABILITO! %%B: =!
C= STABILITO! %%C: =!
echo del
D=%%D
) DOPO: ! A! ! B! ! C! ! D!
pause
class= del

Risposta : Schedario di lavoro: Rimuovere gli spazi nella variabile

Purtroppo non ci è senso fare la sostituzione variabile aumentata (come la sostituzione dei caratteri, o l'estrazione i caratteri, ecc con le une o le altre variabili del parm (%1, %2, %3,…) o PER le variabili del ciclo (%%A, %%B, %%C,…).  Triste ma allineare.

Se volete mantenere il codice mainline un piccolo pulitore potreste fare questo metodo using un sottoprogramma denominato.  Assetta tutti gli spazi di sinistra o giusti dalla stringa passata ed immagazzina il risultato nella variabile chiamata.

per /f “delims= di tokens=1-5,„ %%A in ("%String%") fanno (
  eco PRIMA: %%A %%B %%C %%D %%E
  chiamata: Disposizione “%%A„ A
  chiamata: Disposizione “%%B„ B
  chiamata: Disposizione “%%C„ C
  chiamata: Disposizione “%%D„ D
  chiamata: Disposizione “%%E„ E
)
eco DOPO: %A% %B% %C% %D% %E%
pausa
uscire /b

: Assettare “la input-stringa„ rinviare-variabile
  regolare s=%~1
  per /F “delims= del tokens=*„ %%A da ("%s%") regolano s=%%A
  per /L %%A dentro (1.1.50) fare se “! s: ~-1! “il ==„„ ha regolato lo s=! s: ~0, - 1!
  insieme %~2=%s%
  uscire /b

~bp
Altre soluzioni  
 
programming4us programming4us