Board logo

标题: [文件操作] 批处理路径中,以固定字符开头,但版本号会变动的路径要如何表示? [打印本页]

作者: ednykissyou    时间: 2022-2-9 00:51     标题: 批处理路径中,以固定字符开头,但版本号会变动的路径要如何表示?

像下边这种,版本号将来可以会改变:

start "" "C:\Program Files (x86)\Rime\weasel-0.14.5\WeaselDeployer.exe"

上边的命令中:
weasel-0.14.5这个将来可能是weasel-0.2 weasel-2.0
要如何表示?
作者: qixiaobin0715    时间: 2022-2-9 08:38

要是在固定的电脑上使用,直接修改路径是最简单的方法,除非你经常在多个电脑使用且版本号又不同:
  1. @echo off
  2. for /d %%i in ("C:\Program Files (x86)\Rime\weasel*") do set "FD=%%~i"
  3. start "" "%FD%\WeaselDeployer.exe"
  4. pause
复制代码

作者: 沙河渔翁    时间: 2022-3-3 16:59

回复 2# qixiaobin0715 如果是在多台电脑上运行呢,有些电脑该文件夹在C盘,有些电脑在D盘,路径如何表达更好?
作者: TAT    时间: 2022-3-3 20:33

可以用短路径、短名称、通配符啥的都行
作者: Fit    时间: 2022-3-3 21:22

@echo off
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
        echo,【%%i】盘存在
        if exist %%i: (
                for /f "tokens=*" %%j in ('dir /s /b /a-d %%i:\WeaselDeployer.exe 2^>nul') do (
                        echo,打开路径为【%%j】
                        start "" "%%j" 1>nul 2>nul
                )
        )
)
pause
作者: Batcher    时间: 2022-3-3 21:31

回复 2# qixiaobin0715


可以打开一个CMD窗口观察这两个变量的值:
  1. echo %ProgramFiles%
复制代码
  1. echo %ProgramFiles(x86)%
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2