这里我先贴出我自己编写的简单bat

@echo off
echo 正在指定位置新建文件夹,如果存在则会跳过...
cd E:\图库 || md E:\图库\windows聚焦echo 防Copy重复操作!
cd E:\图库\windows聚焦\ && ren *.* *..echo 这里设定有默认的原文件夹和目标文件夹
set dir1=%USERPROFILE%\AppData\Local\Packages\MICROS~1.CON\LOCALS~1\Assets\
set dir2=E:\图库\windows聚焦\echo 请输入源文件夹路径:
set /p dir1=
echo dir1=%dir1%
echo 请输入目标文件夹路径:
set /p dir2=
echo dir2=%dir2%
pauseecho=
echo 正在进行移动...
copy /-Y %dir1%\* %dir2%\
echo=
echo 正在进行重命名...
cd E:\图库\windows聚焦\ && ren *.* *.jfif
echo=
echo 完成!

它的功能为简单复制windows聚焦自己缓存的壁纸数据至用户自定义位置并重命名后缀为.jfif

如图,用WinHex打开很明显得出此文件为.jfif格式。

目前这个简单的脚本完全可以正常运行,但仍有很多不足的地方。

代码中dir2的目标路径我个人想要它位于个人电脑的"图库"文件夹中新建一个文件夹。但是每个人的电脑都是不同的,不是所有人的系统图库位置都是一样的(很多人会自定义系统图库位置,比如我。。),但我仍然希望他在任何人电脑里边都会新建目标文件夹于系统图库内,这就产生了一个小问题。

我的思路是通过读取注册表中的My Pictures项的键值以获得不同人电脑的"图库路径",进而达成在目标位置新建目标文件夹的想法。

据我所知注册表中有两个项的键值都明确指向"图库",由于对注册表了解并不多并且好像并没什么大区别,因此我暂且随便选择一个键值读取。

@echo off
REG QUERY "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures"
pause

此为读取注册表的代码

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell FoldersMy Pictures    REG_SZ    E:\图库

此为读取结果。到这里问题好像解决了,but并没有。。

尽管我们读取到了想要的数据,but数据总不能手动输进去吧。。

大肆度娘之后得到一个结论:这个操作只能通过for和find命令一起才能实现,并且还不是很简明那种。。烦。。

 据互联网消息后操作之后得出结论,windows聚焦功能设置文件很有可能就是%USERPROFILE%\AppData\Local\Packages\MICROS~1.CON\LOCALS~1\Settings\文件夹中的dat文件和dat.log1 dat.log2三个文件(本来是只有一个dat文件,后来不知道啥时候就变三个了。。)

我们有同样用WinHex打开之后发现,三个文件都是regf文件(三个图没什么意义放一个就可以了)

经过查阅万能的度娘之后得知这是种注册表文件,又叫HIVE文件,blabla...

说是可以通过regedit加载(然并卵,当然也可能是某些环境不对吧。。)

用WinHex我们发现三个文件中都有大量的词汇提到任务、更新、订阅之类,因此我们几乎可以断定就是这几个文件决定windows聚焦的更新频率?!

然,技术不够特来无奖悬赏。

 3·觉得目前的目标文件夹所得过于凌乱(如图)

因此想要增加一个可选的小功能:文件分类存储(这里的类指图片的横竖),自然而然就想到读取文件属性从而进行判断分类BUT!BUT!但是!attrib命令只能显示和增减AH什么的(他甚至都不愿意把属性列出来)。。

然后就又开始度娘。。偶然看到一个大佬的分享(人一时半会忘了,待会贴链接出来),在此借用一下他的代码。

这段暂且命名为a.bat (PS:翻译是我加的,其他未作改动,格式得保存为ANSI,要不然中文会出乱码)

echo off
echo path name(路径名):
echo %1
echo fully qualified path name(windows的全路径):
echo %~f1
echo dirive(所在驱动盘):
echo %~d1
echo path(路径):
echo %~p1
echo name(文件名):
echo %~n1
echo extention(格式名):
echo %~x1
echo short name(短命称):
echo %~s1
echo attribute(属性):
echo %~a1
echo time(修改日期):
echo %~t1
echo size(文件大小):
echo %~z1
echo directory(文件所在目录):
echo %~dp1
pause

它的使用方式为:于cmd中键入如下代码后回车。意思是用a.bat读取.jfif的属性并输出至.txt另存至E:\桌面

E:\桌面\a.bat "E:\桌面\90ad0a968dd91cd4ead22f03ad32e6ecfd3257bb3d3624d7e116f20ed499257f.jfif" >E:\桌面\属性报告.txt

但我们仍未获得想要的属性信息(分辨率和大小之类的),也许是我方向搞错啦??

但是我们仍然获得了一些有用的信息以及一些想不通并且不太好描述的东西。。

比如我们将一个文件拖动至a.bat时,它会正常运行并且取得相应的信息,但是这个操作用代码怎么表示。。总不能就手动吧。。

于是我就发挥了我的探(xia)索(gao)精神 ,编出了个奇奇怪怪的并不能运行的.bat。。

包括但不限于如下。。

echo %~s1 < E:\桌面\6eaffd5c253fc1390f628b0f76fd32d5e721e9ccada5ad767a8f95e3d30e33d8.jfif
echo %~s1 | E:\桌面\6eaffd5c253fc1390f628b0f76fd32d5e721e9ccada5ad767a8f95e3d30e33d8.jfif
echo %~s1 & E:\桌面\6eaffd5c253fc1390f628b0f76fd32d5e721e9ccada5ad767a8f95e3d30e33d8.jfif

¥&……&%%%……#¥(脏话)

(我知道call,但是我不想做一个bat然后跟着一堆附属bat...)

4·发现有的人Assets文件夹中缓存的是一堆图标仅有几个或者没有壁纸,因此想增加一个判断或者自选功能,用以删除图标并且刷新(打算直接删dat文件)windows聚焦,但且未实行,原因有几:

一.对目标的判定暂时受挫,按照大小和分辨率都不太好搞,并且目前个人水平难以以此进行判定,有待进一步学习提升技术。

二.时间实在不够充裕,考试临近事务繁忙。

此为按大小排列的混合文件(有一堆图标和几个壁纸,从他处借来的真实数据)

此为中图标一览

5·打算后期加上bat的开机自运行功能,可以的话甚至还想搞个分享的功能(比如自动将更新的壁纸数据通过QQ之类打包分享至指定账户之类的)

6·有时候bat还需要管理员权限运行,要不然可能会出事(血的教训)。。

@echo off
cd C:\Users\%username%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets\
echo %cd%
ren *.* *.jfif
pause

谨慎运行上述代码。。解释一下,没管理员权限的话此处的cd命令无效,然后就会把当前目录的所有文件重命名后缀为.jfif。。

@echo off
::强制获取管理员运行权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd C:\测试\
echo %cd%
pause

此为强制以管理员身份运行的代码(这个代码也是同站的一个大佬发的,待会我挂人家链接出来),有需要的bat前面加上就行了,but意思并没看懂,有明白的可以评论一下。。

差不多就先写到这了,又盯一天电脑,还没吃饭呢,头疼。。

记我的第一个实用bat编写修改历程(windows聚焦壁纸提取)相关推荐

  1. 股票选股公式编写教程第一讲:公式编写的基础函数

    股票选股公式编写教程 第一讲:公式编写的基础函数 打开技术指标公式,我们最常见的,它的组成不外乎两种情况,一是 K线,二是均线.其他诸如柱状线,彩带,分段线等等,都是在 K线或均线基础上的延伸或变形. ...

  2. 怀孕必读(非常实用)-怀胎的历程及注意事项

    怀孕必读(非常实用)-怀胎的历程及注意事项 [@more@] 怀胎的历程及注意事项(怀孕一个月) 妊娠期的算法是从末次月经第一天起,以满多少天,满多少孕周来计算的.月经周期28天,通常前14天是不会受 ...

  3. bat批量修改文件内容

    说明: 主要功能: 遍历某目录下所有文件,将制定的文字替换成目标文字. 使用步骤: 1.双击运行moreFileUpdate.bat批量修改目录下的所有文件. 编写注意点: 中文放入变量中需注意转为A ...

  4. VC6.0编写BHO #error : WINDOWS.H already included. MFC apps must not #include windows.h

    VC6.0编写BHO #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h> 在StdA ...

  5. vs2008编写第一个Windows程序

    vs2008编写第一个Windows程序 我们编写单击MouseClick事件的处理程序,当鼠标单击窗体时,在窗体的标题栏显示"这是我的第一个Windows程序". 1.在窗体设计 ...

  6. bat文件ping服务器,Windows下Ping一段IP地址的BAT

    会编程当然好,可是不会编程... 下面就利用Windows自带的Ping命令写了个ping一段IP地址的bat脚本.话说Windows 8.1 update包会改变很多,但又不想手动安装update包 ...

  7. windows bat 批量修改文件名。不改变后缀

    windows bat 批量修改文件名.不改变后缀 @echo off setlocal enabledelayedexpansion for %%x in (*.java) do ( rename ...

  8. 第一讲 序言与基本数据修改

    转载自铁血丹心论坛 苍半 DIY专区 http://www.txdx.net/thread-498689-1-1.html 转载注明出处! ------------------------------ ...

  9. 【arduino】米思齐Mixly模块编写修改方法,非常简单的Mixly模块修改方法

    1 什么是Mixly Mixly,中文名为米思齐,全称为Mixly_Arduino,是一款由北京师范大学教育学部创客教育实验室傅骞教授团队开发的图形化编程软件.目前全国广大的Arduino学生用户使用 ...

最新文章

  1. windows10删除更新的程序
  2. 线性代数学习笔记(几何版)
  3. python3(六)监督学习
  4. activemq 连接_ActiveMQ网络连接器
  5. android自带抓拍算法,Android | 超简单集成HMS ML Kit实现最大脸微笑抓拍
  6. zabbix server配置文件
  7. 《流量的秘密: Google Analytics网站分析与优化技巧(第3版)》一2.2 网站分析中的cookie...
  8. python查询ip归属地,Python查询IP地址归属完整代码
  9. 2020年10款网盘大比拼,总有一款适合你
  10. xp故障恢复控制台修复系统_自我修复系统
  11. 改图片分辨率怎么改?教你一招一分钟修改图片dpi
  12. 数据挖掘技术具有哪些特点?
  13. Java课程设计说明书 捕鱼达人
  14. Ansible中的常用模块介绍
  15. VMware Workstation 在此主机上不支持嵌套虚拟化。模块“HV”启动失败。未能启动虚拟机。
  16. python random seed原理_numpy.random.seed()的使用实例解析
  17. 项目策划 文件管理系统
  18. 全媒体运营师胡耀文教你:运营框架搭建让1个流量发挥大于4的价值
  19. 将各种格式flv,avi,mp4等的文件,转码成MP4(无音频)
  20. 关于mysql初次部署后无需密码即可使用root登录问题

热门文章

  1. excel表格怎么调整行高和列宽_Excel 表格技巧—一键调整行高列宽的方法
  2. linux上java项目链接不上mysql,本地测试无问题
  3. PC版微信截图的bug
  4. java rmi tcp_Tomcat启动失败报错[RMI TCP Connection(4)-127.0.0.1] [RMI TCP Connection(3)-127.0.0.1]...
  5. str.c_str()
  6. Java总结13 Lambda表达式 和 方法引用 的概念与应用
  7. QuickBI-云数据库数据源
  8. 【Matlab】牛顿迭代法实现
  9. JDBC模拟SQL注入和避免SQL注入
  10. C++之路进阶——codevs3566(紧急疏散)