폴더 구조에서 모든 파일을 제거하고 싶기 때문에 빈 폴더 구조로 남아 있습니다.
배치 또는 VBScript 스크립팅 에서이를 달성 할 수 있습니까 ?
매우 기본적인 배치 명령을 시도했지만 사용자가 각 파일을 삭제할 수 있어야했습니다. 수백 개의 파일이 있기 때문에이 방법은 적합하지 않았으며 시간이 지남에 따라 크게 증가 할 것입니다.
당신은 무엇을 제안 할 수 있습니까?
폴더 구조에서 모든 파일을 제거하고 싶기 때문에 빈 폴더 구조로 남아 있습니다.
배치 또는 VBScript 스크립팅 에서이를 달성 할 수 있습니까 ?
매우 기본적인 배치 명령을 시도했지만 사용자가 각 파일을 삭제할 수 있어야했습니다. 수백 개의 파일이 있기 때문에이 방법은 적합하지 않았으며 시간이 지남에 따라 크게 증가 할 것입니다.
당신은 무엇을 제안 할 수 있습니까?
답변:
PowerShell을 사용하여 수행 할 수 있습니다 .
Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}
이 명령은의 각 하위 항목을 가져오고 각 항목에서 $path
delete 메소드를 실행하며 매우 빠릅니다. 폴더 구조는 그대로 유지됩니다.
확장명이없는 파일이있는 경우
Get-ChildItem -Path C:\Temp -Include * -File -Recurse | foreach { $_.Delete()}
대신에.
-File
PowerShell v2 이후에 매개 변수가 추가 된 것으로 보입니다 . 그 경우라면
Get-ChildItem -Path C:\Temp -Include *.* -Recurse | foreach { $_.Delete()}
확장자가있는 파일에 대한 트릭을 수행해야합니다.
-Include *.*
아니 -Include .
, 큰 차이! :-)
-Include .
?? 그것이 문제입니다.
powershell --version
없습니까? 양수로 된 버전 번호를 사용할 수 없습니까? 미친 짓이야 프로그램의 버전 번호를 찾는 방법에 대한 질문에 대해 1300 개 이상의 투표 가 있습니까?
단기 및 제품군 PowerShell. 가장 낮은 PS 버전이 어떤 것인지 잘 모르겠습니다.
Remove-Item c:\Tmp\* -Recurse -Force
rm *
실제로 강제하는 것이 좋지 않기 때문에 입력 할 수도 있습니다 (확인 대화 상자에는 "모두 예"옵션이 있습니다).
당신은 del
명령으로 그렇게 할 수 있습니다 :
dir C:\folder
del /S *
/S
스위치는 재귀 적 파일 만 삭제하는 것입니다.
/P
옵션 을 추가 하여 모든 삭제를 확인하여 확인하도록 요청합니다.
attrib -s -r -h Folder\*.* /s /d
하기 전에 수행하십시오 . 그리고 권한을 사용하려면 takeown
명령을 사용하십시오 .
원래 질문의 줄 사이에서 읽을 수있는 대체 BATCH 코드 줄을 제공 할 수 있습니다. 실행시 수행 할 작업은 60 일이 지난 파일 만 삭제하는 것입니다. 이렇게하면 예약 된 작업에이를 배치 할 수 있으며 실행시 전체 디렉토리를 날려 버리는 대신 불필요한 초과 파일이 삭제됩니다. 원하는 경우 60 일에서 5 일 또는 심지어 하루를 변경할 수도 있습니다. 폴더는 삭제되지 않습니다.
forfiles -p "c:\path\to\files" -d -60 -c "cmd /c del /f /q @path"
PowerShell 사용 :
Get-ChildItem -Path c:\temp -Include * | remove-Item -recurse
PowerShell을 사용하여 단일 파일 또는 폴더를 삭제하십시오. powershell에서 Delete 명령을 실행하기 전에 삭제하려는 개체에 대한 모든 권한이있는 계정으로 서버 또는 PC에 로그인되어 있는지 확인해야합니다.
예 : http://dotnet-helpers.com/powershell-demo/how-to-delete-a-folder-or-file-using-powershell/
항목 제거-경로 "C : \ dotnet-helpers \ DummyfiletoDelete.txt"
위 명령은“C : \ dotnet-helpers”위치에있는“DummyfiletoDelete.txt”파일을 실행하고 삭제합니다.
항목 제거-경로 "C : \ dotnet-helpers *. *"
항목 제거-경로 "C : \ dotnet-helpers *. *"-recurse
-recurse
드릴 다운하여 더 많은 파일을 찾습니다. 이 –recurse
매개 변수를 사용하면 PowerShell에서 권한 요청없이 자식 항목을 제거 할 수 있습니다. 또한 –force 매개 변수를 추가하여 숨김 또는 읽기 전용 파일을 삭제할 수 있습니다.
-Force 명령을 사용하여 파일을 강제로 삭제
항목 제거-경로 "C : \ dotnet-helpers *. *"-Force
이것이 가장 쉬운 방법입니다 IMO
PowerShell을 열고 디렉토리 ( cd
)로 이동 한 다음
ls -Recurse * | rm
(Po) 모든 것이 사라졌습니다 ...
특정 확장명을 기준으로 삭제하려는 경우
ls -Recurse *.docx | rm
ls
디렉토리를 나열하고 있습니다
-Recurse
powershell에게 하위 디렉토리로 이동하도록 지시하는 플래그입니다.
*
모든 것을 말한다
*.doc
.doc 확장자를 가진 모든 것
|
왼쪽에서 오른쪽으로 출력을 공급
rm
지우다
다른 모든 대답은 필요 이상으로 혼란스럽게 만듭니다.
rd /s /q "c:\folder a
이 포함 된 모든 파일 및 폴더에서 재귀 삭제를 수행합니다.Folder A