2017-10-21 1 views
1

그때powershell을 사용하여 폴더 내에있는 모든 폴더 이름의 .txt 파일을 가져 오지만 하위 폴더 내의 파일/하위 폴더는 가져 오는 방법은 무엇입니까? 현재

dir -recurse | select -ExpandProperty Name | foreach {$_.split('.',2)[0]} | out-file file.txt 

만 문제 붙여 넣기, SHIFT + 마우스 오른쪽 클릭> 여기 열기 PowerShell 창>를 사용하고있어 내가 + 마우스 오른쪽 클릭을 이동하는 디렉토리를 선택,하지만 난 모든 파일 이름을 얻을/폴더도 두 번째 폴더 안에 있으며 실제로 갈 조직을 망치고 있습니다.

예를 들어 "RootFolder"라는 폴더가 있습니다. Inside RootFolder는 "Folder1"에서 "Folder10"까지 10 개의 다른 폴더입니다. 쉘 명령이 생성하는 .txt 폴더 안에는 Folder1 - Folder10이라는 이름 만 필요합니다. 하위 폴더/파일을 .txt 파일의 폴더 Folder1-10에 저장하고 싶지 않습니다.

답변

0

디렉토리 만 나열하려면 원하는 디렉토리를 지정하십시오. 당신이 직접 할 수있는 최근 PowerShell을 버전에서

Dir -R | ? { $_.PSIsContainer } 

또는

Dir -R | ? { $_ -is [System.IO.DirectoryInfo] } 

.

Dir -Dir 

Dir = GET-ChildItem을
-R
? = 어디-객체
-Dir

0

당신은 단지라는 이름의 디렉토리에있는 디렉토리를 원하는 경우에, 당신은 -Directory -Recurse하지 않으 = 재발한다. 그것은 전체 디렉토리 계층을 여행 할 것입니다; -Directory 스위치를 사용하여 디렉토리 만 포함하도록 출력을 필터링하십시오.

그런 다음 DirectoryInfo 개체에서 Name 속성을 추출하면됩니다.

PS C:\> dir C:\Windows -Directory |% { $_.Name } 
addins 
appcompat 
apppatch 
AppReadiness 
[...] 

및 출력 원하는대로. 더욱 간결하게 :

(dir C:\Windows -Directory).Name 
관련 문제