Dan*_*ert 54 windows command-line batch-file
我正在尝试创建一个右键单击上下文菜单命令,用于使用YUI压缩器压缩JavaScript文件.我的最终目标是尝试让它在上下文菜单上运行:
java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用该变量%1
来引用正在打开的文件名.我无法弄清楚如何将此命令转换为批处理文件语法,并且无法在线找到任何答案.
更新:
Jeremy的回答(+评论)奏效了.对于任何偶然发现这一点的人来说,这就是我必须做的事情:
在我为JavaScript文件创建的操作中,我使用它作为命令:
minify.bat "%1"
Run Code Online (Sandbox Code Playgroud)
哪个调用我的批处理脚本,如下所示:
java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1
Run Code Online (Sandbox Code Playgroud)
对于批处理脚本,请记住上面的代码假定java.exe和yuicompressor的目录都添加到您的PATH
变量中.如果不将这些添加到路径中,则必须使用文件的完整路径.
该序列%~dpn
用于获取:
%~d
- 驱动器%~p
- 路径%~n
- 文件名Jer*_*ein 47
更改操作以调用批处理文件:
RunCompressor.bat "%1"
Run Code Online (Sandbox Code Playgroud)
用于%~n1
在RunCompressor.bat中获取不带扩展名的文件名:
start javaw.exe -jar yuicompressor-2.4.2.jar -o "%~n1.min.js" "%1"
Run Code Online (Sandbox Code Playgroud)
启动javaw.exe在运行批处理文件时关闭命令窗口.
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
Run Code Online (Sandbox Code Playgroud)