BatGUI 2021-12-04 20:56 采纳率: 100%
浏览 134
已结题

Bat命令实现"模糊路径"的文件读取

问题遇到的现象和发生背景

最近心血来潮想用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条回答 默认 最新

  • BatGUI 2021-12-10 18:33
    关注

    简记:
    1.“模糊路径”问题想到一个方法可解决,简述如下:
    先在目标路径新建目标文件,利用文件属性功能中的短名称命令获得目标文件短名称路径!
    echo short name(短命称):
    echo %~s1
    2.另发现采用Copy命令若目标文件夹已有同名文件,则会产生重复复制造成困扰(当然后续修改后缀也无法进行)。
    自己想的一个简单的解决方法为:
    预处理直接将目标文件夹中文件后缀修改至与源文件目标一致(在这里正好是个.),其余操作不便,若有重复则会提示,可选操作,顺利解决!
    2.1.事实上重复问题解决思路方法实在太多,建议按情况不同择优选择。如下是我个人的几个思路,以供参考,有其他思路也欢迎评论!
          A.使用if或者for之类的语句判断后选择是否跳过复制
          B.用文件名建立list进行比对后决定操作
          C.使用临时文件等等
    3.reg 命令读取路径的话有空格要用双引号引起来,有双引号的话要用两个双引号表示。

    等等等等。。

    评论

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 创建了问题 12月4日

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作