Caminho muito longo ao excluir do PowerShell no computador remoto

2

Qual é a maneira mais fácil de excluir o arquivo no computador remoto com o powershell se o nome for maior que 260 caracteres? Eu tenho o seguinte código, mas estou atingindo o limite de 260 caracteres.

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

2 respostas

3

Esta é uma limitação bem conhecida em Powershell, infelizmente.

Esta questão já foi respondida no StackExchange , a resposta aceita foi usar cmd e dir para coletar a lista de pastas.

Esta resposta também forneceu o seguinte link de referência: link Isso basicamente explica por que dir poderia fazer o truque em tal caso, e mostrou o seguinte exemplo:

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 ”,“”)}
    
por 26.06.2015 / 09:47
2

Você tentou usar um curinga?

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

Isso excluirá todos os arquivos da pasta que começam com "Caminho longo com".

    
por 26.06.2015 / 06:09