Windows commande de lot(s) à lire la première ligne du fichier texte
Comment puis-je lire la première ligne d'un fichier texte à l'aide d'un fichier de commandes Windows? Puisque le fichier est gros je veux seulement faire face à la première ligne.
- Essayez GNU32 "tête" de l'utilitaire. Ne pense pas que ce que vous êtes après la volonté être facilement accompli par juste de commandes DOS.
- Ne peut-il pas être fait avec une fonction intégrée de commande?
Vous devez vous connecter pour publier un commentaire.
Voici un lot de fichier d'impression haut
n
lignes d'un fichier comme la GNUhead
utilitaire, au lieu d'une seule ligne.Par exemple:
Il ne comptons actuellement des lignes vides. Il est également soumis à la lot-fichier de la longueur de la ligne de restriction de 8 KO.
;
, la valeur par défaut DE /F caractère de fin de ligne. Si vous demandant de 10 lignes, puis il va imprimer les 10 premières lignes qui ne sont pas vides et ne pas commencer avec;
.EOL
personnage il va le mettre à<SPACE>
. Une solution pour désactiver l'EOL est à DONC: Concaténer deux chaînes de caractères...euh?
imo c'est beaucoup plus simple
Euh les gars, vous...
findstr "^1:"
et le gain de la chaleur et de la protection de guillemets doubles. Ou, si vous méprisez les citations comme moi et que vous voulez vivre dangereusement, l'utilisationfindstr /b 1:
findstr ^^1
.set /p
solution est beaucoup plus efficace pour les gros fichiers.Que vous pourriez donner à ceci un essai:
modifier
Ou, disons que vous avez quatre colonnes de données et que vous souhaitez à partir de la 5ème ligne vers le bas, essayez ceci:
Grâce à thetalkingwalnut avec réponse Windows commande de lot(s) à lire la première ligne du fichier texte je suis venu avec la solution suivante:
Légèrement appuyant sur les réponses d'autres personnes. Maintenant, vous permettant de spécifier le fichier que vous souhaitez lire et la variable que vous voulez mettre dans:
Cela signifie que vous pouvez utiliser le haut comme ceci (en supposant que vous l'avez appelé getline.chauve-souris)
Un liner, utile pour rediriger stdout avec ">":
Essayer cette
Le problème avec le
EXIT /B
solutions, lorsque, de façon plus réaliste à l'intérieur d'un fichier de commandes en tant qu'une partie de cela est la suivante. Il n'existe pas de traitement ultérieur dans le fichier de commandes après laEXIT /B
. Habituellement, il ya beaucoup plus de lots que seulement l'un, tâche limitée.Pour contrer ce problème:
(Toutefois, le soi-disant anti-poison de caractères sera toujours un problème.)
Plus sur le sujet de l'obtention d'une ligne en particulier avec les commandes de traitement par lots:
[Ajouté le 28-Août-2012] On peut aussi avoir:
Voici une solution de contournement à l'aide de
powershell
:(Vous pouvez facilement lire aussi une gamme de lignes avec
powershell (Get-Content file.txt)[0..3]
)Si vous avez besoin de définir une variable dans un script batch comme la première ligne de
file.txt
vous pouvez utiliser:Note, le fichier de commandes approches sera limitée à la ligne de limite pour le DOS du processeur de commande - voir Quelle est la commande la longueur de la ligne de limite?.
Donc, si vous essayez de traiter un fichier qui a toutes les lignes de plus que 8192 personnages le script va simplement les ignorer que la valeur ne peut pas être tenue.
Une autre façon
À cicle un fichier (
file1.txt
,file1[1].txt
,file1[2].txt
, etc.):Et il est en cours d'exécution.