programing

파워셸에서 자동 삭제 확인

cafebook 2023. 8. 6. 10:20
반응형

파워셸에서 자동 삭제 확인

다음 명령을 실행하고 있습니다.

get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname}

이는 다음과 같은 메시지를 자주 표시합니다.

Confirm
The item at C:\temp\f\a\d has children and the Recurse parameter was not specified. If you continue,
all children will be removed with the item. Are you sure you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): 

어떻게 하면 자동으로 "A"로 설정할 수 있습니까?

기본값은 프롬프트 없음입니다.

를 사용하여 활성화할 수 있습니다.-Confirm또는 사용 안 함-Confirm:$false

그러나 대상이 다음과 같은 경우 메시지가 계속 표시됩니다.

  • 디렉토리입니다.
  • 그리고 그것은 비어있지 않습니다.
  • 그리고-Recurse매개 변수가 지정되지 않았습니다.

-Force숨겨진 항목 및 읽기 전용 항목 등도 제거해야 합니다.

요약하자면:

Remove-Item -Recurse -Force -Confirm:$false

...모든 시나리오를 다루어야 합니다.

확인을 억제하려면 추가 -confirm:$false를 선택합니다.

사용해 보십시오.-Force에 대한 매개 변수.Remove-Item.

remove-item 뒤에 add -recurse를 추가하고 -force 매개 변수를 사용하면 숨겨진 파일을 제거할 수 있습니다. 예를 들어 다음과 같습니다.

gci C:\temp\ -제외 *.svn-base,".svn" -recurse | %{ri$_ -force -recurse}

Remove-Item .\foldertodelete -Force -Recurse

추가 팁:PS1(helloworld.ps1)에 다음과 같은 코드가 있다고 가정합니다.

Set-ExecutionPolicy Unrestricted -Confirm:$false -Force
Write-Host "Hello, World!"

코드가 실행될 때마다 사용자에게 묻지 않고 자동으로 Set-ExecutionPolicy를 실행하고 코드를 자동으로 실행할 수 있습니다.

그런 식으로는 안 될 거예요!!나는 아직 사용자에게 묻지 않고 PS 코드를 실행하는 방법을 생각하고 있으며, 알게 되면 해결책을 게시할 것입니다.

다음을 추가하면 됩니다./A후방의

예:

get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname} /a

언급URL : https://stackoverflow.com/questions/4753702/automatic-confirmation-of-deletion-in-powershell

반응형