Push-расположение в Powershell не работает так же, как PUSHD в bat

EDIT: Alt название: New-PSDrive в Powershell не работает так же, как NET использовать в bat

Я пытаюсь загрузить скрипт python в WinPython с пути UNC, поэтому мне нужно сопоставить его с диском. У меня все это работает в файле bat, но не может заставить его работать в Powershell.

летучая мышь(работает):

NET USE P: "networkPathWinPythonWinPython-32bit-3.6.1.0Zero"
PUSHD P:
"P:python-3.6.1python.exe" "P:loadRemix3D.pyw"

Powershell(ошибка):

New-PSDrive -Name P -PSProvider FileSystem -Root networkPathWinPythonWinPython-32bit-3.6.1.0Zero
Push-Location -Path P:    
Start-Process -FilePath P:python-3.6.1python.exe -WorkingDirectory P:python-3.6.1 -ArgumentList P:loadRemix3D.pyw

pathing правильно, как в Powershell правильно выполняет Python и загружает Python скрипт, но патч скрипта Python ведет себя так, как будто я загрузил его непосредственно из UNC.

как заставить Powershell работать так же, как The bat?

EDIT:
В соответствии с ответом Джеффа, вот рабочая версия сценария Powershell:

NET USE P: "networkPathWinPythonWinPython-32bit-3.6.1.0Zero"
Push-Location -Path P:
Start-Process -Wait -FilePath "P:python-3.6.1pythonw.exe" -WorkingDirectory "P:python-3.6.1" -ArgumentList "P:loadRemix3D.pyw"
NET USE P: /delete /y

единственное, что мне нужно было добавить, это явно удалить сопоставление, поскольку кажется, что сопоставления NET USE сохраняются в глобальном контексте PowerShell (?).

20
задан Geordie
24.04.2023 9:32 Количество просмотров материала 3128
Распечатать страницу

1 ответ

диски, созданные с помощью поставщика файловой системы Powershell (т. е. New-PSDrive -PSProvider FileSystem) не видны" внешним "процессам и" расширяются " до их корня при передаче такому внешнему процессу. Вместо этого используйте тот же NET USE команда, которую вы выполняете для пакетной версии программы.

1
отвечен Jeff Zeitlin 2023-04-25 17:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх