- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在文件夹中创建 desktop.ini 文件,这些文件引用子文件夹中的 .jpg 以便为父文件夹提供自定义图像。这可以手动执行该过程(右键单击文件夹 > 属性 > 自定义 > 选择文件)。
假设文件夹结构如下:
C:\Test
---> Folder1
---> Fullsize
---> image.jpg
---> Folder2
---> Fullsize
---> image.jpg
在手动处理之前,父文件夹 ('Folder1') 具有以下属性:'Directory'
。
经过手动处理后,该文件夹的属性为'ReadOnly, Directory'
。 'Fullsize' 子文件夹保留了 'Directory'
的原始属性。
创建的 desktop.ini 文件内容如下:
[ViewState]
Mode=
Vid=
FolderType=Generic
Logo=C:\Test\Folder1\Fullsize\image.jpg
此外,编码为 UTF-8,文件属性设置为 HSA('Hidden, System, Archive'
)。
单击“确定”后,文件夹会立即显示图像预览。
将其转换为另一个文件夹的等效代码,我们有:
$folder2 = 'C:\Test\Folder2'
$folder2Image = "$folder2\Fullsize\image.jpg"
$ini = @"
[ViewState]
Mode=
Vid=
FolderType=Generic
Logo=$Folder2Image
"@
Set-ItemProperty $Folder2 -Name Attributes -Value 'ReadOnly'
# Out-File creates UTF-8 with BOM so use [System.IO.File]
[System.IO.File]::WriteAllLines("$Folder2\desktop.ini", $ini)
$inifile = Get-Item "$Folder2\desktop.ini"
$inifile.Attributes = 'Archive, System, Hidden'
尽管如此,folder2 不会显示图像预览。
检查 Folder1 和 Folder2 的属性(Get-Item $path | Select Attributes),以及 desktop.ini 文件显示它们是相同的。
desktop.ini 的编码和实际内容是相同的,除了图像的路径。图片路径正确。文件在每行末尾包含 CRLF。我什至确保图像的路径大小写正确(这无关紧要)。
彻底被难住了。手动过程还有什么我遗漏的?
Windows 10:版本 1607(操作系统内部版本 14986.1001)
最佳答案
必须使用 Shell API 方法更新 Desktop.ini,以便通知 Shell/Explorer:
function Set-FolderImage($folder, $imagePath) {
# make a temporary folder with desktop.ini
$tmpDir = (Join-Path $env:TEMP ([IO.Path]::GetRandomFileName()))
mkdir $tmpDir -force >$null
$tmp = "$tmpDir\desktop.ini"
@"
[ViewState]
FolderType=Generic
Logo=$imagePath
"@ >$tmp
(Get-Item -LiteralPath $tmp).Attributes = 'Archive, System, Hidden'
# use a Shell method to move that file into the destination
$shell = New-Object -com Shell.Application
$shell.NameSpace($folder).MoveHere($tmp, 0x0004 + 0x0010 + 0x0400)
# FOF_SILENT 0x0004 don't display progress UI
# FOF_NOCONFIRMATION 0x0010 don't display confirmation UI, assume "yes"
# FOF_NOERRORUI 0x0400 don't put up error UI
del -LiteralPath $tmpDir -force
}
用法:
Set-FolderImage 'R:\Temp' 'R:\33983.jpg'
关于windows - 使用 PowerShell 为自定义文件夹图标创建 desktop.ini 在 Windows 10 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42300649/
PHP 解释器是否首先加载它找到的 php.ini(根据其搜索算法)并停止。还是加载整个 php.ini 层次结构并合并设置? 因此,如果我需要覆盖单个网站的单个设置 - 我需要指定所有值,还是只需要
关于以下形式的归并排序算法: public static void merge(int [] a, int ini, int med, int end){ int [] b = new
如何从另一个 ini 文件解析变量? 在下面的例子中,我想解析 var_a来自 original_configuration.ini并在 new_configuration.ini 使用它 origi
我无法获取 ini 文件中数组的值。 这是 ini 文件: module.name = Core module.version = 1 module.package = 'Core Modules'
编辑 eclipse.ini (OS Ubuntu 12.04 LTS) 后无法保存。如何在 eclipse.ini 文件或任何其他 .ini 文件中进行更改? Eclipse 和 Scala IDE
我目前正在使用 Zend Framework 从事个人项目。我一直无法获得良好的搜索结果,也没有问过我的同事:-/。 我在工作中经常使用 Ant/Phing,你有一个叫做“属性文件”的东西,它们有这个
我想提高我的 mysql 性能。所以我尝试使用 my-large.ini。 首先,我将该文件重命名为 my.ini。然后我在 [mysqld] 下添加了以下行 port=3306 basedir="C
我似乎遇到了一个问题,但感觉它不是一个问题,但我看不到解决方案,所以也许其他人可以。 我正在使用 ini 文件来存储我正在编写的包的配置详细信息。此 ini 文件包含与其他 ini 文件相关的部分。
我正在使用 Java API ini4j解析 ini 文件。我的原始 .ini 文件具有以下键值格式: [section] key=value = 字符周围没有空格。 但是在使用 ini.store(
我有写一段 ini 文件的函数: boolean saveSSVar() { using boost::property_tree::ptree; ptree pt; pt.p
最近我在 ubuntu 16.04 机器上安装了 lamp 和 php-xdebug。我注意到现在我有以下文件 /etc/php/7.0/apache2/conf.d/20-xdebug.ini /e
我正在尝试为我的 Pyramid 项目配置 SQLAlchemy Alembic,我想使用我的 developement.ini(或 production.ini)来配置 Alembic。是否可以指定
我的 FlashBuilder 实例在进行一些繁重的分析时不断崩溃。 必须说,我也在生成对象分配跟踪(全部,而不是默认的 10 个)并大量遍历 GC 路径。 但是我有一种预感,我可以通过允许 Flas
我是网络世界的新手,想知道当服务器默认 php.ini 文件时,自定义 php.ini(我们手动创建并添加到每个目录) 文件,.user.ini 文件由服务器加载/读取? 根据我的概念,这些文件在每次
在创建组件时,我在Joomla的组件目录结构中看到了两个语言文件:.ini和 sys.ini .有什么不同? 最佳答案 虽然@Lodder 本质上是正确的 sys.ini文件实际上有 3 个角色。 它
是否可以加载一个自定义的 .ini 文件来覆盖分发包中乱七八糟的 php.ini? 在 unix 系统上,我相信这可以通过在 /etc/php.d 中放置额外的 ini 文件来实现,但我不确定 IIS
如何在另一个 php.ini 文件中包含一个 php.ini 文件? 最佳答案 我认为您不能从主 php.ini 文件中“包含”.ini 文件。 不过,一个可能的解决方案可能是在编译 PHP 时在配置
您好,我有一个代码,其中使用了几个 INI 文件进行预定义设置。我可以在 INI 文件中使用#ifdef 吗?如果可以,我该如何使用它?如果不是,我如何限制我对 INI 文件的代码编译。例如我有一个宏
下面的代码片段可以编辑 ini 文件,但会将所有 ini 条目替换为小写: config = ConfigParser.RawConfigParser() config.read("test.ini"
我按照 this article 中的说明安装并运行 drush :我的服务器是cloudlinux和cagefs.drupal7 Drush 使用全局 php.ini 文件而不是 drish.ini
我是一名优秀的程序员,十分优秀!