欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]一个字符也不用输入的JAVA命令行编译法

[原创]一个字符也不用输入的JAVA命令行编译法

好久没碰过安全方面的东西了,发个帖子来灌灌水。从word里copy过来的,格式全乱了
感兴趣的话请查看 一个字符也不用输入的JAVA命令行编译法.doc
                一个字符也不用输入的命令行编译法                                                                                        By:toofunny, 2014.9.26 , 凌晨
使用手工输入命令的一个显著特点就是:输入长文件名时特别容易输错。
个人感觉在命令行的使用过程中百分之九十的错误都是由输入错误造成的。
首先大家不要觉得有了IDE之后就不需要命令行了,在同时调试多个进程时使用命令行更方便。另外,很多语言都没有IDE的,把下面这个脚本稍作修改,就可以编译其他语言了。(ps: 向频繁的 cd 和 F5 say goodbye...)
下面是脚本内容,因为JAVA比较抠门,编译时要带扩展名,执行时却不允许扩展名,更要命的是不支持绝对路径执行,所以,这个脚本写起来颇费周折。不像汇编的,区区一句ml %strFileName% && link %strFileName% 就搞定了。
::-----------------------------------------------------------------------------------
::filename:CompileAndRunJava.bat
::function:编译运行java源文件
::author: toofunny
@echo Off
Setlocal ENABLEDELAYEDEXPANSION
cls
echo 请拖曳文件到此窗口,然后切换到前端,按下回车:
set /p strPath=
:AnalyzeFileName
call :GetName %strPath% strFileName strDirPath strDrive
set strFullDirPath=%strDrive%%strDirPath%
:Compile
cls
echo Compiling...
echo.
javac "%strFullDirPath%%strFileName%.java" && echo Successful Compiled!
if %errorlevel%==0 (
        echo.
        echo Runing "%strFullDirPath%%strFileName%.class" :
        echo.
        echo ******************************************
        echo.
        pushd "%strFullDirPath%"
        java %strFileName%
        popd
)
echo.
echo ******************************************
echo 请拖曳新文件到此窗口,或者直接按下回车重新编译运行%strFileName%.java:
set /p strPath=
if %strPath%=="" goto Compile
goto AnalyzeFileName
goto :EOF
:GetName
setlocal
endlocal & set "%2=%~n1" & set "%3=%~p1" & set "%4=%~d1"  
goto :EOF
::-----------------------------------------------------------------------------------
        打开notepad保存上面内容为CompileAndRunJava.bat
        双击运行,然后是一个关键的小技巧:拖拽java源文件到命令行窗口中!
这个技巧特别有用,但是我极少见到有人使用,甚至那些专门讲解命令行的书中都没有提到过。
然后点击一下命令行窗口,使它切换到最前端,然后回车,即开始编译运行。
截图:
1.双击运行CompileAndRunJava.bat
2. 拖拽java源文件到命令行窗口。此时标题栏是灰色的。
3.点击一下该窗口,激活它,然后回车。
4.这里为演示一下其他功能,把文件名修改为World,然后编译:
5.把类名修改为World,回到编译窗口,直接按下回车:

上传的附件 一个字符也不用输入的JAVA命令行编译法.doc

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功