Définir l'option d'affichage en obtenant les utilisations de la zone de travail dans un fichier .bat

0

Je voudrais faire un simple .bat pour définir la bonne option d'affichage en fonction de l'utilisation de l'écran. Peux-tu m'aider?

Je ne vois pas ce qui ne fonctionne pas avec ce que j'ai fait jusqu'à présent, mais je n'ai que peu d'expérience avec cmd ...

#retrive virtual Screen with to compare to working area
set VSW= [System.Windows.Forms.SystemInformation]::VirtualScreen.Width
set WAW = [System.Windows.Forms.SystemInformation]::WorkingArea.width

#comparing and chose diplay option
if %WAW% leq %VSW% (
displayswitch.exe /clone
) else
displayswitch.exe /extend
Guillaume Red
la source
1
La réponse courte est que vous mélangez du code Powershell en haut et du code de fichier de commandes en bas. Choisissez ce que vous avez l'intention d'utiliser. Je recommande PowerShell.
Appleoddity
Merci Appleddity, (ne peut pas répondre dans les commentaires). Je ne trouve pas comment traduire dans PowerShell ... Je ne trouve pas non plus le contrôle de l'affichage dans la documentation officielle dans les messages d'un forum utilisant un moteur de recherche.
Guillaume Red
#Ce n'est pas le début pour les commentaires en lot, et ne laissez pas d'espaces autour des variables comme VSW= .... Et comparer des chaînes comme ça ne marchera pas
phuclv
Bienvenue sur Super User! Il semble que vous ayez créé un deuxième compte, ce qui gênera également votre capacité à commenter au sein de votre fil de discussion et à accepter une réponse. Voir Comment un lien / fusionner / combiner / associer deux comptes / utilisateurs? et / ou j'ai créé accidentellement deux comptes; Comment puis-je les fusionner? pour savoir comment fusionner vos comptes.
DavidPostill

Réponses:

0

Pour avoir un script PowerShell syntaxiquement correct:

#retrive virtual Screen with to compare to working area
Add-Type -Assembly System.Windows.Forms
$VSW = [System.Windows.Forms.SystemInformation]::VirtualScreen.Width
$WAW = [System.Windows.Forms.SystemInformation]::WorkingArea.width

#comparing and chose diplay option
if (%WAW% -le %VSW%){
    displayswitch.exe /clone
) else {
    displayswitch.exe /extend
}

Mais cela ne fonctionnera pas (bien) par exemple dans des systèmes à double moniteur ou avec une barre latérale.

Lotings
la source