Powershell脚本过滤文件并使用奇偶数(从1到2)重命名文件]]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell脚本过滤文件并使用奇偶数(从1到2)重命名文件]]相关的知识,希望对你有一定的参考价值。
[请在下面的脚本中查找,它的作用是找到* .txt文件,并使用filename.host1.txt或filename.host2.txt进行重命名。
我的要求是它应该以顺序模式创建,而不是随机创建(当前,它是作为随机基础而不是以顺序模式创建Host1或host2的,如果第一个文件将其重命名为file1.host1.txt,则第二个文件应该是file2.host2.txt,第三个文件将是file3.host3.txt,第四个文件将再次以file4.host1.txt,file5.host2.txt,file4.host3.txt开头。基本上从我想每当文件夹中检测到新文件时就将“ host1”添加到“ host3”,并以从1到3的顺序模式创建文件。 Host1,Host2,Host3我使用了三个虚拟机来执行sperete脚本。这是我的脚本。.
### SET FOLDER TO WATCH + FILES TO WATCH + SUBFOLDERS YES/NO
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\test"
$watcher.Filter = "*.txt"
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $true
### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
$action = $path = $Event.SourceEventArgs.FullPath
$filename = [io.path]::GetFileNameWithoutExtension($path)
###$changeType = $Event.SourceEventArgs.ChangeType
###$logline = "$(Get-Date), $changeType, $path, $filename"
###Add-content "D:\log.txt" -value $logline
###$proc=start-process "D:\source\$filename.bat" -Wait -NoNewWindow
$script:counter++
$hostname=""
if(($script:counter % 2) -eq 0)
$hostname="host1"
Else
$hostname="host2"
Rename-Item -Path "C:\test\$filename.txt" -NewName "$filename.$hostname.txt"
### DECIDE WHICH EVENTS SHOULD BE WATCHED
Register-ObjectEvent $watcher "Created" -Action $action
### Register-ObjectEvent $watcher "Changed" -Action $action
### Register-ObjectEvent $watcher "Deleted" -Action $action
### Register-ObjectEvent $watcher "Renamed" -Action $action
while ($true) sleep 5
[请在下面的脚本中查找,它的作用是找到* .txt文件,并使用filename.host1.txt或filename.host2.txt进行重命名。我的要求是应该在顺序模式下创建,而不是在...
$counter = 1
while($True)
Get-ChildItem -Path c:\test | ? $_.FullName -notlike "*.host*.txt" | Sort-Object -Property CreationTime | %
if($counter % 3 -eq 0)
$hostSuffix = 3
elseif($counter % 3 -eq 2)
$hostSuffix = 2
elseif($counter % 3 -eq 1)
$hostSuffix = 1
$counter++
Rename-Item $_.FullName -NewName "$($_.BaseName).host$($hostSuffix).txt"
sleep(4)
以上是关于Powershell脚本过滤文件并使用奇偶数(从1到2)重命名文件]]的主要内容,如果未能解决你的问题,请参考以下文章
powershell Quick Powershell脚本用于复制文件并使用文件类型过滤保留文件夹结构
使用 PowerShell 脚本从 Azure Blob 存储读取 JSON 文件并写回 Blob 存储中的另一个文件