2009-07-23 6 views
3

J'ai besoin d'exécuter un fichier batch, avec une série de commandes powercfg pour dupliquer le schéma actif et le renommer.Utilisation de powercfg pour dupliquer le schéma d'alimentation actuellement actif

manuellement, je ferais quelque chose comme ceci à l'invite de commande.

powercfg -getactivescheme 

Ceci me donnerait le GUID du schéma actuellement actif.

powercfg -duplicatescheme <GUID obtained above> <new GUID> 

Idéalement, je veux faire quelque chose comme ça ...

powercfg -duplicatescheme -getactivescheme <new GUID> 

Mais puisque ce n'est pas autorisé, est-il une autre façon?

Répondre

5

Eh bien, vous devez d'abord retirer le GUID de la sortie de powercfg. Cela peut être fait avec la commande for:

for /f "tokens=2 delims=:(" %%x in ('powercfg -getactivescheme') do echo %%x 

Ce sera juste sortie du GUID, vous pouvez également enregistrer dans une variable:

for /f "tokens=2 delims=:(" %%x in ('powercfg -getactivescheme') do set guid=%%x 

Vous pouvez supprimer des espaces supplémentaires de ce (ici Je reçois un espace à l'avant de la ligne et deux autres à la fin:

set guid=%guid: =% 

maintenant que vous avez le GUID, vous pouvez le mettre dans votre ligne de commande ci-dessus:

powercfg -duplicatescheme %guid% <new GUID> 

Vous ne devez penser qu'à un nouveau GUID. Je ne connais pas un programme de ligne de commande inclus qui en génère un pour vous. NB: Le code ici (en particulier la partie for) suppose que vous le faites dans un fichier batch. Pour jouer directement sur la ligne de commande, vous devez utiliser %x au lieu de %%x dans les commandes for.

+0

merci! exactement ce dont j'avais besoin. – Sameet

Questions connexes