用于修改desktop.ini文件的Shell脚本

时间:2017-10-10 18:26:01

标签: shell batch-file desktop.ini

我有很多带自定义图标的文件夹。所有文件夹都存在于同一目录中 例如。 D:\ Folder是包含folder1,folder2,.....等的目录 每个文件夹都包含各自的图标和desktop.ini文件

当前desktop.ini文件的内容如下:

[.ShellClassInfo]
ConfirmFileOp=0
NoSharing=1
IconFile=folder1.ico
IconIndex=0
InfoTip=folder1

我想从每个文件夹的desktop.ini文件中删除 NoSharing = 1

删除后,ini文件应如下所示:

[.ShellClassInfo]
ConfirmFileOp=0
IconFile=folder1.ico
IconIndex=0
InfoTip=folder1

ini文件是隐藏的,具有以下属性:system,hidden和archive 感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

在所有文件名( MS Windows 样式路径名)上使用sed至<{1}}除所有行以外的所有行<就地编辑和备份文件:

<tr t-foreach="company.supply_conditions_status" t-as="supply">
   <td>
      <t t-foreach="supply.vendor" t-as="vendor">
        <span  t-field="vendor"/>,
     </t>
   </td>
</tr>

(如果不需要备份,请删除p。)

答案 1 :(得分:0)

只需1个命令:在-r

中的每个NoSharing=1文件中递归(desktop.ini)替换/删除D:\Folder

msr -r -p D:\Folder -f "^desktop.ini$" -S -t "(\s+)NoSharing=1\s*" -o "$1" -R

  • 如果您想预览彩色替换结果,请删除-R
  • 如果您要备份已更改的文件,请添加-K-R -K
  • -RK
  • 您还可以按文件名,目录名,大小范围,上次写入时间范围等进行过滤,只需运行exe来显示内置用法和文档,或者查看git docs,如README.md

msr.exe / msr.gcc* / msr.cygwin是一个单独的exe工具(大约1.6MB,没有依赖关系,在Windows和Linux上有跨平台版本)来查找和替换文件或管道文本递归地支持备份:在我的开放项目https://github.com/qualiu/msr tools目录中。

Replace files