在 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%"
所以我正在尝试创建一个批处理文件以自动将 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%"