我正在尝试编写一个 powershell 脚本,该脚本将创建从本地客户端到交换服务器的 Outlook 日志(使用 NETMON)。问题是文件名没有正确递增。我在网上找到了这个递增脚本,我理解逻辑(有点)。我是否使用正确的方法来初始化计数器?它没有正确重命名文件。它给第二个文件一个 _ 然后第三个文件得到一个 _2 然后它停止重命名文件。
也是在等待我的 cmd 退出的调用表达式还是会进入 $count-- 的下一步?
#Directory to complete script in
$path = "c:\Outlook_Logs\"
cd $path
$cmdline = "Nmcap.exe /network * /captureipv4.address==X.X.X.X /file :\outlook_logs\client_$count.chn:100MB"
#Writes out number of files in directory to console
$count = (get-childitem $path -name).count
Write-Host "Number of Files: $count"
#Sorts items by decsending order
$items = Get-ChildItem | Sort Extension -desc
#Deletes oldest file by file extension number
del $items[0]
#Copy file from original directory to backup directory
Copy-Item c:\Outlook_Logs\* c:\Outlook_Logs_Temp\
#Sorts items by decsending order
$items = Get-ChildItem | Sort Extension -desc
#Renames files in quotes after NewName argument
$items | ForEach-Object -begin { $count= (get-childitem $path -name).count } -process { rename- item $_ -NewName "client_$count.cap";Invoke-Expression "$cmdline"; $count-- }