Windows Скобки Powershell в именах папок - PullRequest
1 голос
/ 02 августа 2020

Powershell n00b здесь. Я хочу смонтировать ISO-образ с помощью PowerShell. Я успешно сделал это вот так:

PS C:\> PowerShell Mount-DiskImage C:\3D_Ultra_Pinball_Thrillride\pinball-disc.iso


Attached          : True
BlockSize         : 0
DevicePath        : \\.\CDROM2
FileSize          : 214403072
ImagePath         : C:\3D_Ultra_Pinball_Thrillride\pinball-disc.iso
LogicalSectorSize : 2048
Number            : 2
Size              : 214403072
StorageType       : 1
PSComputerName    :

Но теперь я хочу сделать тот, у которого есть круглые скобки в имени файла, например:

PS C:\> PowerShell Mount-DiskImage "C:\Program Files (x86)\Warcraft III\warcraft-disc.iso"
x86 : The term 'x86' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:35
+ Mount-DiskImage C:\Program Files (x86)\Warcraft III\warcraft-disc.iso
+                                   ~~~
    + CategoryInfo          : ObjectNotFound: (x86:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Как мне избежать скобок? Обратные кавычки не работают, равно как и цитирование пути в одинарных или двойных кавычках.

Ответы [ 2 ]

1 голос
/ 02 августа 2020

Одинарные кавычки делают его строковым литералом и должны работать нормально. Почему вы вызываете powershell, находясь в командной строке PowerShell? Возможно, проблема в этом.

PS C:\> Mount-DiskImage 'C:\Program Files (x86)\Common Files\SLI_3.0.0_A00 (1).iso'


Attached          : True
BlockSize         : 0
DevicePath        : \\.\CDROM1
FileSize          : 1882193920
ImagePath         : C:\Program Files (x86)\Common Files\SLI_3.0.0_A00 (1).iso
LogicalSectorSize : 2048
Number            : 1
Size              : 1882193920
StorageType       : 1
PSComputerName    :
0 голосов
/ 02 августа 2020

Избегайте скобок:

Mount-DiskImage "C:\Program Files `(x86`)\Common Files\SLI_3.0.0_A00 `(1`).iso"

Обратный апостроф (`) - это escape-символ в PowerShell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...