powershell - 使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件
问题描述
我需要在 PowerShell 中编写一个脚本,它重命名给定目录和所有子文件夹下的所有没有扩展名的文件。通过重命名,我的意思是向没有它的文件添加扩展名,例如“.html”。到目前为止,我已经尝试构建这样的东西:
Get-ChildItem -Path 'C:\dev\blah' -Filter *. -Recurse | ForEach-Object {
Rename-Item -Path $_.FullName -NewName ($_.FullName + ".html")
}
解决方案
您需要从枚举项目中排除文件夹。-File
如果您正在运行 PowerShell v3 或更新版本,请使用该开关,否则请添加一个Where-Object
过滤器。此外,您不需要ForEach-Object
因为Rename-Item
接受管道输入。
Get-ChildItem -Path 'C:\dev\blah' -Filter *. -Recurse | Where-Object {
-not $_.PSIsContainer
} | Rename-Item -NewName {$_.Name + ".html"}
推荐阅读
- geth - GETH 如何达到 TX 的最大广播速度
- css - 使用 Angular 重新触发 css 动画
- r - 安装 xfun 的问题(对于 rmarkdown)
- sql - SQL CREATE NEW COLUMN NETWORKDAYS 包括假期
- javascript - 是否可以为机车滚动中的粘性图像添加最高价值?
- angular - Angular - 如何验证反应形式数组中的数字范围
- typescript - 有条件地启用身份验证策略的好方法是什么?
- c++ - 允许随机访问更新权重的 c++ 优先级队列?
- node.js - 读取 Kubernetes configMap , nodeJS/express API 应用程序
- parallel-processing - Oozie 如何安排分叉中的后续操作?