在 Window 的复制命令中对目录使用通配符

Using Wildcards for Directories in Window's copy Command

所以我正在尝试创建一个批处理文件以自动将 SSL 证书导入 Java 密钥库 cacerts。我正在尝试将所有 .crt 文件复制到:

C:\程序Files\Java\jre*\lib\security

这样我就可以使用keytool导入它们了。问题是复制命令不允许我使用 jre* 指定 jre 目录,然后指定版本。我想制作批处理,以便它可以跨多台 PC 使用 Java 安装在 C:\Program Files\Java(默认目录),但跨多个版本的 Java jre .

谢谢!

*? 等通配符只能用于路径的最后一个元素。

您可以使用以下解决方法来实现您想要的效果(假设只有一个匹配目录):

  • 在命令提示符中 (cmd):

    for /D %D in ("C:\Program Files\Java\jre*") do @set "FOUNDDIR=%~fD\lib\security"
    echo Found directory: "%FOUNDDIR%"
    
  • 在批处理文件中:

    for /D %%D in ("C:\Program Files\Java\jre*") do set "FOUNDDIR=%%~fD\lib\security"
    echo Found directory: "%FOUNDDIR%"