1

我正在尝试编写一个 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-- }
4

1 回答 1

0

无需自己增加名称。chn 捕获文件在达到冒号后指定的大小时自动增量创建和命名。

当您将大小降低到 1MB 并执行命令时会发生什么?

于 2012-10-18T16:48:14.090 回答