2

Какой самый простой способ удалить файл на удаленном компьютере с PowerShell, если имя длиннее 260 символов? У меня есть следующий код, но я бью ограничение в 260 символов.

$s = New-PSSession -computername Server1    
Invoke-Command -session $s -scriptblock 
{Remove-Item "C:\Jenkins\workspace\Long Path with spaces" -force
-recurse}    
Remove-PSSession $s

2 ответа2

3

К сожалению, это известное ограничение в Powershell.

На этот вопрос уже ответили в StackExchange, поэтому я решил использовать cmd и dir вместо этого, чтобы собрать список папок.

Этот ответ также предоставил следующую справочную ссылку: http://asysadmin.tumblr.com/post/17654309496/powershell-path-length-limitation, которая в основном объясняет, почему dir может сделать трюк в таком случае, и показал следующий пример:

The Dir version is longer since you have to strip the extra information from the results.    

$folders = cmd /c dir C:\Users /s /-c /a:h /a:d
$folders = $folders -match “Directory”
$folders = $folders | %{$_.Replace(“ Directory of ”,“”)}
2

Вы пытались использовать подстановочный знак?

Remove-Item "C:\Jenkins\workspace\Long Path with *"

Это удалит все файлы в этой папке, которые начинаются с "Long Path with".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .