2017-10-15 2 views
0

Comment écrire des variables d'environnement dans un fichier texte avec mon nom? Mon code est comme:Variables d'environnement dans le fichier texte

@echo off 
cd c:\users\user\desktop\ 
set /p name = "Input filename: " 
copy nul %name%.txt 
set > %name%.txt 

Mais il ne crée pas de fichier.

+0

Que voulez-vous écrire dans '% name% .txt'? – sohaib

+0

Si vous voulez envoyer des variables d'environnement aléatoires dans '% name% .txt', vous pouvez essayer:' echo% MY_VARIABLE% >>% name% .txt'. – sohaib

+4

Etes-vous sûr qu'il n'a pas créé un fichier appelé '.txt'? Si vous regardez dans ce fichier, vous pouvez trouver qu'il y a une ligne 'name = yourname' car' set' est sensible aux espaces sur les deux côtés du '='. Supprimer l'espace avant '=' sinon vous définissez une variable appelée 'nom [espace]' – Magoo

Répondre

1

Votre problème est lié à:

set /p name = "Input filename: " 

L'espace immédiatement après le name créera en fait un nom de variable appelée name<space>, que vous pourrez voir si vous exécutez set nam pour afficher toutes les variables commençant par cette valeur .

Voir la transcription suivante pour preuve:

C:\pax> set /p x = ? 
?with-space 

C:\pax> set /p x=? 
?no-space 

C:\pax> set x 
x=no-space 
x =with-space 

Cette transcription montre également comment fixer, changez simplement votre ligne pour supprimer les espaces:

set /p name="Input filename: "