powershell - 从全名获取目录,重命名目录
问题描述
我想查找全名超过 256 个字符的所有文件。
从这些文件中,我想重命名文件夹。
此刻我在这一点上
$maxLength = 260
$newPath = "a_path"
$paths = Get-ChildItem $newPath -force -Recurse |
Where-Object { ($_.FullName.Length -gt $maxLength) } |
% {
Write-Host $_.FullName
}
但现在我迷路了。
- 我不明白为什么命令 write-host $paths 不再起作用。
从全名我只需要目录,我试图用
选择目录或拆分路径
但这也行不通。
- 我怎么能说将目录名称“修剪”为 $maxLength = 260
感谢您的一些提示!
CYA_D0c
解决方案
- 我不明白为什么该命令
write-host $paths
不再起作用。
将Write-Host
cmdlet替换为Select-Object
:
$maxLength = 260
$newPath = "a_path"
$paths = Get-ChildItem $newPath -Force -Recurse | Where-Object {$_.FullName.Length -gt $maxLength} | Select-Object -ExpandProperty FullName
$paths
然后将是您所需的完整路径的列表。
- 从全名我只需要目录,我尝试使用
select Directory
or获取它Splith-Path
。但这也行不通。
Splith-Path
会做的:
$paths | Split-Path -Parent
- 我怎么能说将目录名称“修剪”为 $maxLength = 260
这并不像你想象的那么容易。你想把它修剪成什么名字?如果一个目录的修剪名称已经存在怎么办?
当然,您可以随时重命名目录,但是如果您想将目录名称自动修剪为特定长度,则需要一定的命名约定。
你原来的问题是什么?您是否仍在使用最大路径长度限制为 256 的 Windows 7 或旧的 MS Office 产品?
推荐阅读
- azure - 如何备份 Azure 逻辑应用程序?
- image - 如何使用 Conv2D 在 Tensorflow 中进行索引卷积类型操作?
- json - 必须匹配返回大量文档的 URL 地址 - Elasticsearch
- java - 不工作响应处置附加文件 xlsx 文件
- javascript - 阿贾克斯。在 Ajax 成功时,再次调用相同的 ajax 函数
- amazon-web-services - 通配符 SSL 在指向不同服务器的子域上不起作用
- java - 如何使用搜索查询从 Firebase 检索数据?
- python-2.7 - 无法使用 trollius 在 python 2.7 的异步线程中处理 kafka-consumer 消息
- swift - Avplayer 在 iOS swift 中使用 .srt 文件实现字幕
- java - 在java中如何使用@scheduled将参数传递给方法?