0

Je voudrais copier le dossier de licence et écraser le dossier existant, puisqu'il s'agit du fichier programme (x86), je dois exécuter la powershell élevée, je suis capable de le copier quand Je le lance manuellement, il suffit de se demander s'il est possible de tout courir sur une ligne (tout à la fois)? vraiment appreicatedCopier l'élément runas Administrateur pour programmer l'échec du fichier

$net = new-object -ComObject WScript.Network 
$net.MapNetworkDrive("R:", "\\roa\smdd\Software\Mest", $false) 

Start-process Powershell.exe -ArgumentList " Copy-Item "R:\Licenses\" "C:\Program Files `(x86`)\Mest Research S.L\Mest\licenses"" -force -recurse -wait 
+0

Pourquoi l'évasion Char devant $ net? Pourquoi même stocker le nouvel objet dans une variable si vous n'utilisez pas cette variable plus tard? – ArcSet

+0

@ArcSet ressemble à juste un formatage oops. Ils ont des backticks avant et après leur bloc de code entier, donc il semble qu'ils ne savaient pas comment le formater. (J'ai édité la question pour la corriger) – TheMadTechnician

+0

Pour ArcSet, le caractère d'échappement est ajouté lorsque je clique sur la fonction "Ajouter un code" pendant que j'essaie de copier correctement le format de mon fichier. – Mandy

Répondre

0

Vous n'avez pas besoin de mapper un lecteur ou invoquer powershell.exe. Le code est PowerShell, vous n'avez donc pas besoin de créer une nouvelle copie de PowerShell pour exécuter la cmdlet Copy-Item pour copier des fichiers. Vous avez seulement besoin d'une commande PowerShell:

Copy-Item "\\roa\smdd\Software\Mest\Licenses\*" "${Env:ProgramFiles(x86)}\Mest Research S.L\Mest\licenses" -Force -Recurse 

Notez que vous aurez probablement besoin d'ouvrir PowerShell en tant qu'administrateur (élevé) pour être en mesure de copier des éléments dans ce répertoire.

+0

il me donne l'erreur en disant "n'a pas pu trouver une partie du chemin" C: \ Mestrelab Research SL \ Mest \ Licences '. après que je le copie avez-vous la solution? – Mandy

+0

Assurez-vous que la variable d'environnement nommée 'ProgramFiles (x86) 'existe et est défini correctement (cette variable n'existera pas sur un système 32 bits, vous devrez utiliser la variable d'environnement' ProgramFiles' à la place.) –