lệnh của tôi có kịch bản PowerShell sau đây để xác minh kho SVN của tôi:Làm thế nào để Gọi CMD.EXE từ PowerShell với một không gian trong rõ mục Tên
$SVNAdminDir = 'C:\Program Files (x86)\VisualSVN Server\bin';
$RepositoryDir = 'C:\My Repositories\App1';
$_cmd = "`"$SVNAdminDir`\svnadmin`" verify `"$RepositoryDir`"";
Write-Host $_cmd; # Copying this into the command prompt runs without an issue...
cmd.exe /c $_cmd; # It's when I try to execute the command from PS that I get the error.
Nhưng khi tôi cố gắng để thực hiện nó, tôi nhận được thông báo lỗi sau:
cmd.exe : 'C:\Program' is not recognized as an internal or external command,
At line:5 char:12
+ cmd.exe <<<< /c $_cmd;
+ CategoryInfo : NotSpecified: ('C:\Program' is...ternal command,:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
operable program or batch file.
Kể từ khi tôi về cơ bản thiết $cmd = '"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin" verify "C:\My Repositories\App1"';
với dấu ngoặc kép bên trong dấu nháy đơn, tôi đã mong không gian trong C: \ Program Files (x86) \ ... được thông qua đúng ly.
tôi nghi ngờ có điều gì đó tầm thường với chuỗi mà tôi là thiếu ...
cmd.exe/c "\' "$ _ cmd \" "" Điều đó đã làm được điều đó! Cảm ơn! :-) –
Tôi không thể làm việc này trong PowerShell. 'cmd.exe' liên tục bị lỗi khi phàn nàn rằng' 'C: \ Program' không được nhận dạng như một lệnh nội bộ hay bên ngoài ... '. Tôi đang chạy PowerShell 5.1. Bất kỳ ý tưởng? – STLDeveloper