Out-Файл «.demo.json» Команда не работает — файл не записывается, кажется, работает жестко закодированный путь

#powershell

Вопрос:

Я пытаюсь создать JSON с помощью команды PowerShell, но когда я пытаюсь вывести файл, код, похоже, не работает….

 $stepBase | ConvertTo-Json -Depth 10 | Out-File ".demo.json"
 

Однако, когда я жестко кодирую путь таким образом…

 $stepBase | ConvertTo-Json -Depth 10 | Out-File "C:UserDesktopJsonResultdemo.json"
 

Эта команда, похоже, работает, и для информации читателей я использую Powershell ISE в режиме администратора для написания сценария.

Любые предложения, почему кажется, что жестко закодированный путь работает, но я не могу использовать». » — root в качестве пути для вывода.

Комментарии:

1. «код, похоже, не работает» — как вы это утверждаете? Не работает ли последующий вызов Get-Content .demo.json или вы получаете сообщение об ошибке? Что именно происходит? Пожалуйста, имейте в виду, что только вы можете видеть свой экран 🙂 «Я использую Powershell ISE в режиме администратора для написания сценария». — тогда, вероятно, ваше местоположение по умолчанию C:WindowsSystem32 — вы проверяли наличие файла по адресу C:WindowsSystem32demo.json ?

2. Я просто проверяю каталог, который вы упомянули, да, файл создается в C:WindowsSystem32 — Спасибо, что указали, я постараюсь указать каталог, из которого запускается инструмент…

3. В дополнение к комментарию Матиаса, если вы хотите использовать относительный путь, вы можете использовать автоматические переменные, такие как $PSScriptRoot . Более подробная информация о docs.microsoft.com/en-us/powershell/module/…