powershell - 如何重命名文件夹中的文件,用父文件夹名替换文件名的开头
问题描述
我有近 2000 个以不同产品名称命名的文件夹,例如G00114
. 这些文件夹中的文件应以产品名称为前缀,但其中一些文件的名称不正确,如下所示00114_300_f_resized_65.jpg
。
_
因此我需要用父文件夹名称替换之前的所有字符。
这是我想我需要的,但我不知道是否有任何这样的命令可以让我替换“之前的字符_
”以及代码是否正确编写
get-childitem -recurse *jpg |
foreach {
rename-item $_ $_.Name.Replace("characters before the "_"", ".Directory.Name")
}
提前致谢 :)
解决方案
gci 'c:\temp\*.jpg' -Recurse | %{ Rename-Item $_ -NewName ($_.Name -replace $_.Name.split('_')[0], $_.Directory.Name ) -Verbose}
推荐阅读
- java - 我可以创建一个函数式接口来存储对包含任意数量参数的方法的方法引用吗?
- html - What's the most optimal way of connecting divs with a line to represent a hierarchy?
- html - 用 position:absolute 和 position:relative 填充不工作
- javascript - React Native Navigation 子级父级
- image - 如何显示像gmail显示的图像?
- regex - 尝试匹配字符串时的正则表达式困境
- tensorflow2.0 - 创建 SparseCategoricalAccuracy 的修改版本,得到 ValueError: tf.function-decorated function tried to create variables on non-first call
- json - 如何使用 set_fact 打印数组变量以在 ansible add_host 模块中使用
- usb - 无需重启即可重启 USB 端口 (DevCon)
- azure-databricks - Azure Databricks 到 Azure SQL DW 连接