
Ich hoffe, dass jemand bei diesem Problem helfen kann. Also Win10 x64.
Ich muss eine XPI-Datei (Firefox-Erweiterung) in einen Unterordner „Programme“ (nicht x86) kopieren. Wenn ich eine einfache Bat-Datei erstelle und sie mit einem Rechtsklick als Administrator ausführe, funktioniert mkdir einwandfrei, aber der Kopiervorgang funktioniert nicht. Wenn ich stattdessen cmd als Administrator öffne und den Kopiervorgang von dort aus ausführe, funktionieren sowohl mkdir als auch der Kopiervorgang wie erwartet.
Ich muss die BAT von einer Drittanbietersoftware mit erhöhten Berechtigungen aufrufen. Wenn ich also das erste Szenario lösen kann, sollte ich mein Problem lösen können. Jede Hilfe oder Erklärung ist sehr willkommen. Der Code ist sehr einfach:
mkdir "C:\Program Files\Mozilla Firefox\distribution\extensions"
copy file.xpi "C:\Program Files\Mozilla Firefox\distribution\extensions"
Dank im Voraus.
Antwort1
Versuchen Sie, xcopy statt copy zu verwenden.
Haben Sie alternativ schon einmal über die Verwendung von Powershell nachgedacht?
Es ist viel leistungsfähiger und Sie können Anmeldeinformationen für eineVerfahren. Sie können die Ausführungsrichtlinie auch mit Powershell umgehen.
Set-Executionpolicy Bypass -Scope Process -Force
Anschließend können Sie das Programm in Powershell kopieren mit
xcopy /q <source> <destination>
Wenn das nicht funktioniert, versuchen Sie, den Befehl xcopy in einen Start-Process-PowerShell-Befehl einzufügen. So etwas wie ...
Start-Process -FilePath "c:\Windows\System32\xcopy.exe" -ArgumentList "file.xpi C:\Program Files\Mozilla Firefox\distribution\extensions\" -Credential domain\user
Alternativ würde Domäne\Benutzer Computername\Benutzer sein.
Beachten Sie, dass Start-Process auch den Schalter -Wait hat, der auf die Beendigung des Prozesses wartet.