powershell - 使用 PowerShell Ping 服务器
问题描述
我想 ping 我们的一台服务器并继续旋转文件。为此,我创建了以下脚本
function main()
{
ping 192.168.1.1 > E:\Ping\TestCon.txt
RotateLog
}
function RotateLog {
$log = "E:\Ping\*.log_old"
$target = Get-ChildItem $log -Filter "*.log_old" | sort LastWriteTime | select -last 1
# $threshold = 3000
$datetime = Get-Date -uformat "%Y-%m-%d"
$filename = "$("TestCon")_${datetime}.log_old"
if ( $filename -eq $targeta.name )
{
main
}
else
{
$newname = "$("TestCon")_${datetime}.log_old"
Rename-Item -Path "E:\Ping\TestCon.txt" $newname
main
}
}
main
问题是当它返回到 main 时,它会创建新文件,但我想附加它,只要它具有相同的日期。请建议
解决方案
要么按照 Mathias R. Jessen 在评论中的建议进行操作,然后直接写入文件。
$datetime = Get-Date -uformat "%Y-%m-%d"
Test-NetConnection -ComputerName 192.168.1.1 | Out-File -Path "TestCon_${datetime}.log_old"
或者您可以测试文件是否存在并附加内容。
if ([bool](Test-Path -Path "TestCon_${datetime}.log_old"))
{
Test-NetConnection -ComputerName 192.168.1.1 | Out-File -Path "TestCon_${datetime}.log_old" -Append
}
推荐阅读
- terminal - 在终结者中正确启动自定义布局
- xml - 使用 XSL 样式表进行 ADO XML 清理
- python-3.7 - 使用 python mne 绘制 TUH Artifact Corpus 数据集
- css - SCSS 创建一个部分命名的泛型类
- javascript - 如何在 Angular 12+ 中使用 pendo 函数
- c# - FileWebRequest 访问被拒绝
- python - python中权重的随机洗牌
- angular - e2e Protractor 测试在本地运行,但不在竹子上运行
- php - laravel与有向无环图的递归关系
- c++ - Is there a data structure like a C++ std set which also quickly returns the number of elements in a range?