0
votes

Comment capturer des données à l'aide de la commande à partir d'un fichier texte et définissez-la sous forme de variable (invite de commande Windows)

Situation

Utilisation de DiskPart Je peux obtenir des informations sur disque détaillées qui ressemble à ceci: xxx

Le texte que je veux capturer est "Samsung SSD 960 EVO 500GB" Évidemment, lorsque j'exécute ceci sur un système avec un lecteur différent, cette information change, il pourrait donc s'agir d'un lecteur digital ou maragate occidental, etc.

Je pensais utiliser: < Pré> xxx

Cependant, cela capture tout ci-dessous et le bit final des données est stocké ("quitter DiskPart ...") comme variable. Pas la première valeur. Comment puis-je réparer cela? Il doit y avoir quelque chose de simple que je n'ai pas pensé.


0 commentaires

3 Réponses :


2
votes

Si vous êtes mort défini sur l'exécution de la ligne de commande, je pense que ce serait votre seule option.

for /f "skip=7 delims=" %%g in (disk1.txt) do (set "disk1=%%g" & goto done)
:done


0 commentaires

2
votes

Préféreriez-vous aller directement à la source et sauter le traitement du texte? XXX PRE>

Bonne idée, @LotPings. P>

$disk1 = (Get-Disk -Number 0).FriendlyName


1 commentaires

Ou (get-disque). AmicileDname ou (get-physicaldisk). AmicileName



1
votes

Vous pouvez également utiliser wmic code> pour le faire, ce qui contrairie à la méthode code> DiskPart code> ne nécessite pas d'exécuter exécuter en tant qu'administrateur et ne nécessite pas que la sortie soit Écrit dans un fichier et lire en arrière pour être analysé em>: xxx pré>

Pour vérifier s'il a fonctionné, ajoutez la ligne suivante ci-dessous: P>

@Set _&Pause


0 commentaires