2017-10-11 1 views
0

Quand je définir ma date la sortie contient des espaces:Débarrassez-vous de l'espace dans une date

set thedateis=20/10/2017 
for /F "tokens=1,2,3 delims=/" %%a in ('echo %thedateis%') do set day=%%a & set month=%%b & set year=%%c 
echo The chosen date is: %thedateis%, Day:.%day%., Month:.%month%., Year:.%year%. 

il me donne

The chosen date is: 20/10/2017, Day:.20 ., Month:.10 ., Year:.2017. 

Comment puis-je me débarrasser des espaces?

Répondre

1

Il est parce que vous avez ajouté les espaces vous-même et ne pas isoler vos chaînes de vos esperluette.

For /F "Tokens=1-3Delims=/" %%A In ("%thedateis%") Do Set "day=%%A"&Set "month=%%B"&Set "year=%%C" 

Modifier

Vous devez apprendre à utiliser la meilleure notation pratique:

Set "variableName=variableValue" 
0

Voici la solution (grâce à @ LS_ᴅᴇᴠ) et il fonctionne très bien:

set thedateis=11/12/2017 
for /F "tokens=1,2,3 delims=/ " %%a in ('echo %thedateis%') do (
    set day=%%a 
    set month=%%b 
    set year=%%c 
    ) 
echo The chosen date is: %thedateis%, Day:.%day%., Month:.%month%., Year:.%year%. 
+2

Vous devez apprendre encore les meilleures pratiques et utiliser la notation suivante: 'Set" thedateis = 11/12/2017 "', "Set" jour = %% a "', 'Set" mois = %% b "' et 'Set" année = %% c "'. – Compo