2013-12-17 10 views
9

Ho avviato un altro piccolo progetto Batch, tuttavia ho riscontrato un po 'di dilemma. Io uso set name= seguito da set /p name=, per consentire all'utente di dare l'input desiderato. Tuttavia, voglio che la variabile immessa con spazi per avere gli spazi sostituiti con trattini (ad esempio "ciao mondo" diventa "ciao-mondo").File batch; Sostituisci gli spazi della variabile con i trattini

Ho cercato in giro e ho trovato molte situazioni in cui qualcuno fa una domanda simile, tuttavia stanno tutti usando il comando ren, che non mi serve per non aver a che fare con i file.

Il mio codice attuale è la seguente:

@echo off 
Cls 
echo Insert a string with spaces? 
set string= 
set /p string= 

ho anche trovato una soluzione per rinominare i file che hanno menzionato utilizzando ren "!file!" "!file:_= !" per modificare gli spazi di un nome di file per sottolineatura (_). Tuttavia, cambiarlo in set name=!name:-= ! non ha funzionato per me.

Come posso sostituire al meglio spazi con trattini nel mio file batch?

risposta

10

Sei vicino.

@echo off 
cls 
echo Insert a string with spaces? 
set string= 
set /p string= 
set string=%string: =-% 
echo String is now %string% 

Vedere set /? per dettagli sulla manipolazione variabile.

+0

Grazie, funziona come un fascino. Inoltre, ora vedo come funziona l'impostazione di una variabile, dopo ':', invece di agire su un'ipotesi. Grazie ancora! – Destrotant