在Window的copy命令中使用通配符作为目录

时间:2017-04-05 23:11:46

标签: windows batch-file cmd wildcard

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

C:\ Program Files \ Java \ jre * \ lib \ security

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

  • 在命令提示符(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%"