WIN 如何用脚本设置文件夹类型?

把整个盘区设置为常规项目,并应用到子目录,是我每次装机后都会设置的选项。
但不知为何就是搜索不到用脚本实现的方法,每次只能手动设置。

有任何方法可以自动设置吗?

又到了冷知识时间,这些以前都算是电脑使用技巧,现在……唉,大概就暴露年龄系列吧(咳咳

文件夹的设定保存在这个文件夹下的 desktop.ini 文件里,你可以在文件夹选项中打开显示隐藏文件,同时打开显示受系统保护的隐藏文件,就能够看到了。当然有些文件夹是默认设置,所以可能没有这个文件。

你需要的设定:

[ViewState]
FolderType=Generic

这个文件深入研究一下蛮有意思的,比如设定文件夹图标啥的也都在这里面。

至于脚本,自己用自己喜欢的语言糊一个吧,反正就 ini 文件,遍历文件夹啥的。

手动操作时,并未生成desktop.ini文件

我的意思是,遍历文件夹,每个文件夹中生成一个desktop.ini…是不是可能会有更好的解决方案?

发帖前实测,有生成

1 个赞

再次实测,没生成是因为没成功的对所有子文件夹应用此设定,你可以查看子文件夹的类型,发现没变。

1 个赞

自己试了试,某个文件夹,是“常规”类型,将其设定为“文档”类型,再查看文件夹下,并未生成ini文件,而此时其类型已经改变了。

摊手手……

搜索到一些资料,但都没有效果。

https://answers.microsoft.com/en-us/windows/forum/all/folder-view-optimization-setting-is-ignored/2090769c-ee85-4f5c-b97a-7a05364d02f1

在WIN11,确实没有生成 desktop.ini 文件

这个文件是隐藏 + 系统属性的;

之前为了其他效果写过一个 ps1,判断有没有该文件然后加属性

Write-Host $PSScriptRoot

# $arrFolders = "#bak", "#game", "#Git","#sync", "#usr", "#var", "#web"
$arrFolders = "docker", "node", "Python", "win10"

Foreach($curFolder in $arrFolders)
{
    $iniPath = $curFolder+"\"+"desktop.ini";
    Write-Output "$curFolder"
    Write-Output "$iniPath"
    $TRUE_FALSE=(Test-Path $iniPath)
    if($TRUE_FALSE -eq "True"){
        Write-Output "^ exists"
        # attrib $iniPath -s -h
        attrib $iniPath +s +h
        attrib $curFolder +s
    } else {
        Write-Output "^ does not exist"
    }
    Write-Output ""
}

# attrib desktop.ini -s -h
# attrib $PSScriptRoot +s
# Get-ChildItem desktop.ini | Format-List -Property *

$Exit = Read-Host 'Any Key To Exit'

我上面都加粗标注了,他们坚持告诉我没有,大老鼠委屈(搓手手

黑暗模式下那个加粗并不明显 /doge

心好累抱着膝盖哭唧唧

不是,是真没这个文件啊,我是设置显示系统保护文件的。
用AutoHotkey读了没有 MsgBox fileexist(“P:\desktop.ini”)
用7Z管理器看了眼也没有
而这个P盘我是确实设置了的

再次严谨测试,移动硬盘根目录、移动硬盘中的文件夹。设置了确实没出来这个文件。

但是,你依然可以用这个方法设置,没有就新建一个就是了。如果想看到这个文件产生,你可以尝试给文件夹设置一下图标(别选那个默认的样子),此方法可能对移动硬盘根目录不起作用(是指可能没法修改图标)。

反正,自己新建并写入相应的内容就行了。微软一般不会修改这种长期传承的运作方式的。

可能在 WIN11 改了?
我新建一个文件夹,放入图片,设置为图片模式。然后写入INI

IniWrite("Generic", "P:\PX\desktop.ini","ViewState","FolderType")
FileSetAttrib "+HS", "P:\PX\desktop.ini"

重启管理器后,仍旧是图片模式。

(老鼠想溜走……

可能真的改了。
设置文件夹图标,它确实会生成一个ini,用于保存数据。但设置文件夹类型,并不会生成这个ini。

我最初是在我的文档里测试的,然后获得的上面给出的内容

实际测试,可用,配置如下:

[ViewState]
Mode=
Vid=
FolderType=Generic

前两个空白属性我不确定是否有意义或者必须,第一次发的时候我随手给删掉了。(应该是没用,因为才发现测试的时候写错了,也成功了嘛)

然后划重点:desptop.ini 文件必须设置为只读属性,系统才会处理。系统文件和隐藏都不是必须的。

这种方法是比较稳妥的,毕竟切实的把设定保存在了文件夹中,这样移动文件夹设定会随之移动。这个类型是在系统注册表中进行定义的,所以类型名称可能对应不一样的含义(一般没人去改吧)。

没有这个文件的一个原因是系统会缓存 5000 个文件视图设定。大概如此,可能还有其他可设置的位置,但我看不太懂了。

这里有一个帖子,是和你类似的问题,也是一群人排查 https://www.tenforums.com/general-support/136641-windows-10-customizing-folders.html

用可以录制的键盘鼠标精灵,把你每次开机后设置文件夹类型的动作录制下来,以后每次开机后执行一次,这也算脚本自动设置了吧