Je recherche la quantité de code la plus courte possible pour obtenir la première ligne d'un fichier texte et le définir comme variable dans Windows.
Il y a beaucoup d'exemples de ce genre de chose dans d'autres discussions sur ce site StackExchange mais je not cherche comment boucler et afficher toutes les lignes d'un fichier. Ce que je veux, c'est simplement simplement obtenir la première ligne.
set /p var= <Text.txt
echo %var%
Référencé à partir de: http://forums.techguy.org/software-development/551867-batch-file-read-line-text.html Ironiquement, l’affiche est capable d’obtenir la première ligne mais Je voulais parcourir tout le fichier!
ceci est juste une version légèrement plus courte:
set/pz=<file
echo %z%
Je ne pouvais pas faire fonctionner cela sous Windows 7; la variable n'était tout simplement pas définie. Mais voici une solution légèrement plus longue:
for /F "delims=" %%i in (Text.txt) do (
set Z=%%i
goto BREAK1
)
:BREAK1
echo %Z%
Si l'expansion retardée a été activée auparavant (Setlocal EnableDelayedExpansion
), il existe une version plus courte (une seule ligne)
set /pz=<filename.txt&echo !z!
J'ai dû changer la ligne de fichier pour un fichier texte dans le répertoire Program Files(x86)
. Après avoir essayé beaucoup de solutions, la solution suivante a fonctionné pour moi:
Pas:
Étape 1) utilisez la commande
type
canalisée avecfindstr
pour obtenir un fichier avec les données souhaitéesÉtape 2) supprimer le fichier d'origine
Étape 3) utilisez la commande
type
pour déplacer le contenu dans le fichier avec le nom de fichierÉtape 4) Supprimer le nouveau fichier
Exemple:
@echo off
set originalFile="C:\Program Files (x86)\<Target File Path>\<Target File Name>"
set newFile="C:\Program Files (x86)\<Target File Path>\<Target newFile Name>"
if exist %originalFile% (
type %originalFile% | findstr /v T4VSHost >> %newFile%
del %originalFile% /F /Q
type %newFile% >> %originalFile%
del %newFile% /F /Q
)
@echo on
Remarque:
Lorsque j'ai essayé d'écrire la modification dans le fichier d'origine à l'étape 1, le résultat était un fichier vide.
Notez que la chaîne que je mets en correspondance est T4VSHost
, ce qui se produit dans le fichier dans le chemin
C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude