%EC%9D%B4%20%EC%A1%B4%EC%9E%AC%ED%95%98%EA%B3%A0%200kb%EB%B3%B4%EB%8B%A4%20%ED%81%B0%20%EA%B2%BD%EC%9A%B0.png)
다음을 사용하여 파일이 존재하고 0kb보다 큰지 성공적으로 확인할 수 있습니다.
$getFILE = 'C:\DIR\FILE1.txt'
IF (test-path $getFILE){
IF ((get-item $getFILE).length -gt 0) {
"OK";return 0
}
ELSE {
"0 bytes";return 2
}
}
ELSE {
"doesn't exist";return 1
}
다음을 사용하여 와일드카드 파일이 존재하는지 확인할 수 있습니다.
$getFILE = 'C:\DIR\FILE*.*'
IF (test-path $getFILE){
"OK";return 0
}
else {
"doesn't exist";return 1
}
하지만 두 개념을 함께 사용할 수는 없습니다. 다음에서 와일드카드 파일이 존재하는 경우; 반환값은 항상 0입니다.
$getFILE = 'C:\DIR\FILE*.*'
IF (test-path $getFILE){
IF ((get-item $getFILE).length -gt 0) {
"OK";return 0
}
else {
"0 bytes";return 2
}
}
else {
"doesn't exist";return 1
}
답변1
좋아, 좀 더 가지고 놀면서 작동하는 것을 생각해 냈습니다.
$vDIR = 'C:\DIR'
$vFILE = 'FILE*.*'
$proc = @(Get-ChildItem $vDIR -Recurse -Include $vFile | Where {$_.length -gt 0})
If ($proc.count -gt 0) {
ForEach ($item in $proc) {
Do a bunch of stuff
}
Else {
Do this other thing
}
누구든지 더 깨끗한 솔루션을 가지고 있다면 여전히 보고 싶습니다.
편집: 내 솔루션이 상당히 변경되었습니다. 다시 한 번 더 좋은 방법이 있다면; 나는 전반적인 지식/기술을 향상시키는 데 도움이 되는 제안에 매우 개방적입니다.