在 Powershell 中检查文件大小 gt 0
Checking file size gt 0 in Powershell
我确实搜索过关于我的主题的帮助,但没有找到接近我需要的东西,所以这是我的疑问:
我需要检查特定文件夹中文件的大小,如果它大于 0 字节,则可以继续该过程,否则,中止它写入输出消息并发送失败代码 = 1.
我尝试了以下方法,但没有成功将消息写入日志:
$FileExists1 = "D:\TEST\FILE\test.txt"
IF (Test-Path $FileExists1) {
If ((Get-Item $FileExists1).length -gt 0kb) {
Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"
}
Else {
$rc = 1
Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\TEST\FILE\"
Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"
Exit $rc
}
}
你们知道我能做什么吗?
感谢您的帮助!
输出日志有问题吗?写入输出将写入控制台主机。使用 out-file 或 tee-object 代替
"[$(Get-Date)]:'文件在 D:\TEST\FILE\'" | 中有 0 个字节输出文件 D:\example.log
如果文件大于 0,你的变量 $rc 也是未定义的。
代码工作得很好。但是请确保为“$rc”提供初始值。
PS C:\WINDOWS\system32>
$FileExists1 = 'E:\Work\Powershell\scripts\demo\demo.txt'
IF (Test-Path $FileExists1) {
If ((Get-Item $FileExists1).length -gt 0kb) {
Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"
}
Else {
$rc = 1
Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\TEST\FILE\"
Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"
Exit $rc
}
}
[09/02/2016 23:55:15]: FILE HAS 0 BYTES AT D:\TEST\FILE\
[09/02/2016 23:55:15]: VALIDATION FINISHED - RC = 1
但是,如果您在同一范围内再次 运行 代码,变量 $rc 的值将为 1。因此请确保您将值重新初始化为 0 或其他值,因此它可能不会产生错误的结果。
我确实搜索过关于我的主题的帮助,但没有找到接近我需要的东西,所以这是我的疑问:
我需要检查特定文件夹中文件的大小,如果它大于 0 字节,则可以继续该过程,否则,中止它写入输出消息并发送失败代码 = 1.
我尝试了以下方法,但没有成功将消息写入日志:
$FileExists1 = "D:\TEST\FILE\test.txt"
IF (Test-Path $FileExists1) {
If ((Get-Item $FileExists1).length -gt 0kb) {
Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"
}
Else {
$rc = 1
Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\TEST\FILE\"
Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"
Exit $rc
}
}
你们知道我能做什么吗?
感谢您的帮助!
输出日志有问题吗?写入输出将写入控制台主机。使用 out-file 或 tee-object 代替
"[$(Get-Date)]:'文件在 D:\TEST\FILE\'" | 中有 0 个字节输出文件 D:\example.log
如果文件大于 0,你的变量 $rc 也是未定义的。
代码工作得很好。但是请确保为“$rc”提供初始值。
PS C:\WINDOWS\system32>
$FileExists1 = 'E:\Work\Powershell\scripts\demo\demo.txt'
IF (Test-Path $FileExists1) {
If ((Get-Item $FileExists1).length -gt 0kb) {
Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"
}
Else {
$rc = 1
Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\TEST\FILE\"
Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"
Exit $rc
}
}
[09/02/2016 23:55:15]: FILE HAS 0 BYTES AT D:\TEST\FILE\
[09/02/2016 23:55:15]: VALIDATION FINISHED - RC = 1
但是,如果您在同一范围内再次 运行 代码,变量 $rc 的值将为 1。因此请确保您将值重新初始化为 0 或其他值,因此它可能不会产生错误的结果。