从远程计算机上的 powershell 删除时路径太长

从远程计算机上的 powershell 删除时路径太长

如果名称长度超过 260 个字符,使用 powershell 删除远程计算机上的文件的最简单方法是什么?我有以下代码,但达到了 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

答案1

不幸的是,这是 Powershell 中众所周知的限制。

这个问题已经在 StackExchange 中得到解答,接受的答案是使用cmddir来收集文件夹列表。

该答案还提供了以下参考链接: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”开头的所有文件。

相关内容