2011-11-08 25 views
15

Mam poniżej, który jest używany jako plik wsadowy, który uruchamia powershell (zbyt długo, aby przejść, ale jest używany w innym skrypcie).% temp% itp. Nie działa

W każdym razie zauważyłem, że% systemroot% \ temp i% systemroot% nie działa.

Każdy pomysł, jak to naprawić?

%systemroot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -File %SystemRoot%\TEMP\ROFS\testing_script_log.ps1 

Dzięki

+1

Gotowe na mój system działa świetnie. Jaki masz błąd? –

+0

Twój prawy chrześcijanin .... moja głupota ... Ścieżka jest niepoprawna !! W końcu zadziałał! – lara400

Odpowiedz

30

Jeśli wykonanie tej linii z PowerShell zamiast z CMD, można użyć zmiennej środowiska PowerShell składni:

PS C:\> & "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" 
+0

Chciałem to również wiedzieć - dzięki za odpowiedź. Rzeczywistą usterką była ścieżka, która była nieprawidłowa - zostało to naprawione, ale dobrze jest znać powyższe. – lara400

+0

Jestem wielkim noobem. Dlaczego potrzebujesz "&" na początku linii? – YasharBahman

+0

"&" uruchamia określone polecenie w tle – phillyslick

11

Można użyć [Środowisko] :: ExpandEnvironmentVariables do rozszerzenia zmiennych środowiskowych w ciągu znaków w staroświecki sposób.

$s = '%systemroot%\temp' 
[Environment]::ExpandEnvironmentVariables($s) 
+0

Przydatne z PowerShell 2.0 (Windows 2008), w którym "$ env.SYSTEMROOT" nie działa – Akom

0

Pomyślnie zweryfikowano za pomocą poniższego kodu C#.

// plików lokalizacja - Zmienne użytkownika ciąg fileLocation = Environment.GetEnvironmentVariable ("AZURE_FILE_PATH" EnvironmentVariableTarget.User); // lokalizacja pliku - Zmienne systemowe string fileLocation = Environment.GetEnvironmentVariable ("AZURE_FILE_PATH", EnvironmentVariableTarget.Machine);

Na skryptu PowerShell

& "D:\Visual_Studio_Workspace\AzureUpload\AzureUpload\bin\Debug\AzureUpload.exe" 

AzureUpload.exe - zawierają powyższy kod C# jako aplikacja Console (Visual_Studio_Workspace \ AzureUpload \ AzureUpload \ bin \ Debug {plik .exe lokalizacja})

Powiązane problemy