代码之家  ›  专栏  ›  技术社区  ›  Dan Herbert

在Windows批处理脚本中获取不带扩展名的文件名

  •  52
  • Dan Herbert  · 技术社区  · 15 年前

    我正在尝试创建一个右键单击上下文菜单命令,用于使用YUI compressor压缩JavaScript文件。我的最终目标是尝试在关联菜单上运行:

    java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js
    

    %1 引用正在打开的文件名。我不知道如何将这个命令转换成批处理文件语法,也无法在网上找到任何答案。

    更新:
    杰里米的回答(+评论)奏效了。对于任何一个偶然发现这一点的人,我必须这样做:

    在我为JavaScript文件创建的操作中,我使用以下命令:

    minify.bat "%1"
    

    调用我的批处理脚本,如下所示:

    java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1
    

    PATH 变量。如果不将这些文件添加到路径中,则必须使用文件的完整路径。

    %~dpn

    1. %~d -驱动器
    2. %~p -路径
    3. %~n -文件名
    3 回复  |  直到 12 年前
        1
  •  52
  •   script'n'code    12 年前

    RunCompressor.bat "%1"
    

    使用 %~n1 要在RunCompressor.bat中获取不带扩展名的文件名,请执行以下操作:

    start javaw.exe -jar yuicompressor-2.4.2.jar -o "%~n1.min.js" "%1"
    

    Helpful article

        2
  •  11
  •   Andy Ali    7 年前
    echo path of this file name is: %~dp0
    echo file name of this file without extension is:%~n0
    echo file extention of this file is:%~x0
    echo The file name of this file is: %~nx0
    
        3
  •  0
  •   Jeremy Stein    15 年前

    java.exe -cp yuicompressor-2.4.2.jar MyClass "%1"