我有每天早上生成的文件:
我想重命名文件:
我基本上会用Default
替换VOD
。
我正在使用Powershell 1.0。任何帮助将不胜感激。
答案 0 :(得分:8)
我没有PowerShell 1.0进行测试,但假设您在文件所在的文件夹中运行它,您可以尝试:
Get-ChildItem Default_*.csv |Rename-Item -NewName {$_.name -replace '^Default','VOD'}
答案 1 :(得分:5)
简化为:
x <- c(3, 1.2, 3.1, 1, 1.0, 5)
split(x, round(x) == x)
$`FALSE`
[1] 1.2 3.1
$`TRUE`
[1] 3 1 1 5
答案 2 :(得分:1)
gci | ?{$_.Name -like "Default*"} | % {$newname = ([String]$_).Replace("Default","VOD"); Rename-item $_ $newname}
更具说明性的版本:
$DefaultFiles = Get-ChildItem | Where-Object {$_.Name -like "Default*"}
ForEach($File in $DefaultFiles)
{
$newname = ([String]$File).Replace("Default","VOD")
Rename-item -Path $File $newname
}
答案 3 :(得分:0)
如果您正在寻找一个通用版本,它将您的查找和替换作为参数并注销您重命名的内容(方便,imo),这里是 Cole9350 的一座建筑answer:
$Find = $args[0]
$Replace = $args[1]
$TargetFiles = Get-ChildItem | Where-Object {$_.Name -like "*$Find*"}
ForEach($File in $TargetFiles)
{
$newname = ([String]$File).Replace($Find,$Replace)
write-host "Renaming $File to $newname"
Rename-item -Path $File.PSPath $newname
}
如果你想递归,只需在 -Recurse
Get-ChildItem