세부 정보 모드에서 폴더를 보고 열 헤더를 보면 모든 속성(이름, 크기, 앨범, 아티스트 등) 옆에 화살표가 표시됩니다. 해당 화살표를 클릭하면 해당 속성에서 사용 가능한 모든 태그를 나열하는 메뉴가 제공되며, 여기에서 해당 열에서 필터링하려는 태그를 선택할 수 있으며, 다른 열에서 동일한 작업을 수행하여 파일을 더욱 필터링할 수 있습니다.
다음은 파일 필터의 스크린샷입니다.
예를 들어 축소판 보기와 같은 다른 폴더 보기에서 해당 기능을 사용할 수 있기를 원합니다. 이를 달성하기 위한 올바른 접근 방식이 무엇인지 잘 모르겠습니다. 이 메뉴에 대한 바로가기가 있을 수도 있고 모든 보기에 세부 정보 열 헤더를 항상 표시하도록 레지스트리를 조정할 수도 있다고 생각했지만 어떻게 해야 할지 모르겠습니다.
세부 정보 보기에서 필터링한 후 폴더 보기를 다른 것으로 변경할 수 있으며 필터는 그대로 유지됩니다.하다다른 보기에서 작업하지만 필터를 사용할 때마다 세부정보 모드로 전환했다가 다시 축소판으로 전환해야 하므로 이 단계를 건너뛰고 싶습니다.
답변1
참고: 다음은 내 노트북에서 작동합니다.
에디션 Windows 10 Home
버전 22H2
8/10/2020
OS 빌드 19045.2486 에 설치됨
Windows 기능 경험 팩 120.2212.4190.0 경험
더 이상 지원되지 않는 기능은 언제든지 변경될 수 있습니다. 나는 Windows 11에 뛰어들지 않았으므로 그 전면에 대한 단서가 없습니다.
한 구성 요소탐침보기 설정은 플래그 집합입니다.폴더플래그. 일반적으로 열 머리글 표시를 억제하는 플래그는 다음과 같습니다.
FWF_NOHEADERINALLVIEWS
값: 0x01000000
Windows Vista 이상. 세부정보 보기 모드에서만 열 헤더를 표시합니다.
하지만 파일 템플릿에서 플래그가 지워지더라도탐침폴더를 표시할 때 이를 무시하고 헤더는 보기에만 표시됩니다 Details
. 하지만파워셸, 플래그는 다음에 대해 지워질 수 있습니다.활동적인 탐침창이 표시되고 헤더가 표시됩니다.
이것파워셸코드는 모든 항목에서 열 헤더를 켭니다.탐침명령이 실행될 때 열려 있는 창:
@((New-Object -Com shell.application).Windows()).ForEach({
$_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff)
$_.Refresh()
})
위의 코드를 복사하여 붙여넣을 수 있습니다.파워쉘콘솔 창에서 실행 가능성에 대한 빠른 테스트를 위해 실행됩니다. 하지만 이는 일상적인 사용을 위해 실행하는 좋은 방법은 아닙니다. 나에게는 상황에 맞는 메뉴 항목을 만드는 것 같았습니다.디렉토리 배경메뉴가 가장 의미있었습니다. 이를 위해서는 명령줄 버전의 코드가 필요합니다.
Run
대화 상자 또는 바로 가기 대상으로 적합한(따라서 상황에 맞는 메뉴 명령으로도 적합한) 명령줄은 다음과 같습니다.
PowerShell -NoProfile -ExecutionPolicy Bypass -Command '& {@((New-Object -Com shell.application).Windows()).ForEach({$_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff');$_.Refresh()})}'
하지만 짜증나는 파란색의 짧은 깜박임이 있습니다.파워셸명령이 실행될 때 cosole. 이 문제를 해결하기 위해 우리 cmd.exe
는파워셸최소화. 진수파워셸from 명령은 종종 참조 또는 파일 cmd.exe
로 해결되는 특수 문자 및 따옴표 관련 문제를 나타내지 만, Base64로 인코딩된 명령 버전과 함께 PowerShell 매개 변수를 사용하여 regsitry 명령을 자체 포함 상태로 유지할 수 있습니다 . 다음 코드는 블록으로 복사하여.bat
.ps1
-EncodedCommand
파워셸cosole 및 실행하여 상황에 맞는 메뉴 항목을 생성합니다.
$PSCommand = '@((New-Object -Com shell.application).Windows()).ForEach({ $_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff); $_.Refresh()})'
$CommandBytes = [System.Text.Encoding]::Unicode.GetBytes($PSCommand)
$encodedCommand = [Convert]::ToBase64String($CommandBytes)
$CommandLine = 'cmd.exe /c start /min "" PowerShell -NoProfile -ExecutionPolicy Bypass -EncodedCommand ' + $EncodedCommand
$RegKey = 'HKCU:\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders'
[PSCustomObject]@{
'(Default)' = 'Show Column Headers'
'Position' = 'Top'
} | Set-ItemProperty -Path (mkdir $RegKey -Force).PSPath
New-Item -Path $RegKey -Name Command -Value $CommandLine | out-null
원하는 경우 .reg
파일을 병합하여 메뉴 항목을 생성할 수 있습니다. 다음은 위 코드로 생성된 등록 키를 내보낸 것입니다. 파일 로 저장 .reg
한 다음 병합하여 상황에 맞는 메뉴 항목을 만듭니다.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders]
@="Show Column Headers"
"Position"="Top"
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders\Command]
@="cmd.exe /c start /min \"\" PowerShell -NoProfile -ExecutionPolicy Bypass -EncodedCommand QAAoACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AQwBvAG0AIABzAGgAZQBsAGwALgBhAHAAcABsAGkAYwBhAHQAaQBvAG4AKQAuAFcAaQBuAGQAbwB3AHMAKAApACkALgBGAG8AcgBFAGEAYwBoACgAewAgACQAXwAuAEQAbwBjAHUAbQBlAG4AdAAuAEYAbwBsAGQAZQByAEYAbABhAGcAcwAgAD0AIAAoACQAXwAuAEQAbwBjAHUAbQBlAG4AdAAuAEYAbwBsAGQAZQByAEYAbABhAGcAcwAgAC0AYgBhAG4AZAAgADAAeABmAGUAZgBmAGYAZgBmAGYAKQA7ACAAJABfAC4AUgBlAGYAcgBlAHMAaAAoACkAfQApAA=="
위의 두 가지 방법 중 하나를 사용하여 레지스트리 키를 생성한 후에는 배경 컨텍스트 메뉴 상단에 새 항목이 표시되어야 합니다.탐침창문:
실행 후:
그냥탐침템플릿 설정을 재정의하면 현재 폴더의 하위 폴더로 이동할 때에도 헤더가 사라집니다. 나는 그 문제에 대해 어떤 방법도 알지 못합니다. 명령을 다시 실행하기만 하면 됩니다.