最近心血来潮想用bat实现如下功能:
将windows聚焦自己生成的图片自动复制或者移动到我要求的指定目录,并且更改名称&后缀
目前已基本实现上述功能,但是据网上大家所说windows聚焦的目录中有个文件夹名字并不是所有人都相同(有一小段乱码),
因此我目前做出来的东西就可能无法顺利在其他人电脑上成功运作,而在网上查询无果,特此讨教!
此为简单代码,因为存在中文路径,因此代码保存为ANSI格式方可正常运行!
中文路径着实难倒我了。。
搞了一整天都在报错,就一句命令还要报错:文件名、目录名或卷标语法不正确。
崩溃啊。。
今天灵光乍现,突然想到是不是源文件夹没有文件??
然后就发现真的是。。我太憨了简直。。
(懵懂少年一枚,老师傅别当面嘲讽就行)
此为复制操作代码:
@echo off
COPY /Y C:\Users%username%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets* E:\图库\windows聚焦\
cd E:\图库\windows聚焦
ren . *.jfif
cmd/k
此为移动操作代码:
@echo off
move /-Y C:\Users%username%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets* "E:\图库\windows聚焦"
cd E:\图库\windows聚焦
ren . *.jfif
cmd/k
可能有些跟我一样懵懂的小伙伴注意到源目录里面的%username%,这可是真是个好东西呐哈哈
有问题的其实就是这个文件夹了
Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy
名字很长,然后前半部分是固定的,下划线后据说就不固定了,所以应该有一种简单的方法可以实现上述功能
也许大概类似于
Microsoft.Windows.ContentDeliveryManager_*
这样子吧。。
尝试,报错,无果。。
可以的话希望可以不吝赐教。暂且称其为“模糊路径”问题。。
要是正巧的话希望有过来人能够提一下权限获取问题。。
手动改权限实在太麻烦了,没权限的话会拒绝访问。。
还有一个就是本地的图库他应该也有一个类似于%username%这种的系统变量路径,but周边人的都被我改过了。。
注册表也搜寻无果。。Help!
简记:
1.“模糊路径”问题想到一个方法可解决,简述如下:
先在目标路径新建目标文件,利用文件属性功能中的短名称命令获得目标文件短名称路径!
echo short name(短命称):
echo %~s1
2.另发现采用Copy命令若目标文件夹已有同名文件,则会产生重复复制造成困扰(当然后续修改后缀也无法进行)。
自己想的一个简单的解决方法为:
预处理直接将目标文件夹中文件后缀修改至与源文件目标一致(在这里正好是个.),其余操作不便,若有重复则会提示,可选操作,顺利解决!
2.1.事实上重复问题解决思路方法实在太多,建议按情况不同择优选择。如下是我个人的几个思路,以供参考,有其他思路也欢迎评论!
A.使用if或者for之类的语句判断后选择是否跳过复制
B.用文件名建立list进行比对后决定操作
C.使用临时文件等等
3.reg 命令读取路径的话有空格要用双引号引起来,有双引号的话要用两个双引号表示。
等等等等。。