programing

폴더를 통한 파워셸 루프, 각 폴더에 파일 생성

newsource 2023. 9. 12. 20:03

폴더를 통한 파워셸 루프, 각 폴더에 파일 생성

디렉토리의 모든 폴더를 재귀적으로 순환한 다음 각 디렉토리 내에서 작업을 수행하려고 합니다.예를 들어 텍스트 파일을 만듭니다.

모든 하위 폴더를 다음과 같은 변수로 가져올 수 있습니다.

$folders = Get-ChildItem -Recurse | ?{ $_.PSIsContainer }

그러나 각 하위 디렉터리 내에 파일을 만들 수는 없는 것 같습니다. 파일은 대신 최상위 디렉터리에 만들어집니다.이것은 작동하지 않습니다.

$folders | ForEach-Object { New-Item -ItemType file -Name "$_.txt" -path $_}

그러면 디렉터리를 찾을 수 없거나 경로가 너무 길다는 오류가 표시됩니다.

중첩 폴더의 각 하위 디렉토리에서 작업을 수행하려면 어떻게 해야 합니까?

시도해 보기:

Get-ChildItem -Recurse -Directory | ForEach-Object {New-Item -ItemType file -Path "$($_.FullName)" -Name "$($_.Name).txt" }

기본적으로.Get-ChildItem명령은 다음의 순서를 반환합니다.DirectoryInfo물건들. 더FullNameproperty는 전체 경로를 포함하는 반면Name리프 디렉토리의 이름만 포함합니다.

언급URL : https://stackoverflow.com/questions/33543052/powershell-loop-through-folders-create-file-in-each-folder