在 Powershell 中检查文件大小 gt 0

Dev*_*awk 6 size powershell file

我确实寻找了有关我的主题的帮助,但没有找到接近我需要的东西,那么这是我的疑问:

\n\n

我需要检查特定文件夹中文件的大小,如果 it\xc2\xb4s 大于 0 字节,则 it\xc2\xb4s 可以继续该过程,否则,中止它写入输出消息并发送失败代码 = 1 。

\n\n

我\xc2\xb4ve尝试了以下方法,但将消息写入日志没有成功:

\n\n
$FileExists1 = "D:\\TEST\\FILE\\test.txt"\n\nIF (Test-Path $FileExists1) {\n    If ((Get-Item $FileExists1).length -gt 0kb) {\n      Write-Output [$(Get-Date)]:" FILE IS OK FOR PROCESSING! - RC = $rc"\n    }\n\nElse {\n      $rc = 1\n      Write-Output [$(Get-Date)]:" FILE HAS 0 BYTES AT D:\\TEST\\FILE\\"\n      Write-Output [$(Get-Date)]:" VALIDATION FINISHED - RC = $rc"\n      Exit $rc\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

你们有人知道我能做什么吗?

\n\n

感谢你的帮助!

\n

Man*_*Rao 4

该代码工作得非常好。但是请确保为“$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
Run Code Online (Sandbox Code Playgroud)

但是,如果您在同一范围内再次运行该代码,则变量 $rc 的值将为 1。因此请确保将该值重新初始化为 0 或其他值,这样可能不会产生错误的结果。