加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用批处理,根据文件类型C、C++、java选择执行程序,用于notepa

发布时间:2020-12-15 07:15:14 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 :: notepad++参数说明:: %1. FULL_CURRENT_PATH : 表示当前文件的完整路径 即:E:javaHelloNpp.java:: %2. CURRENT_DIRECTORY: 表示当前文件所在目

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

:: notepad++参数说明
:: %1. FULL_CURRENT_PATH : 表示当前文件的完整路径                      即:E:javaHelloNpp.java
:: %2. CURRENT_DIRECTORY:  表示当前文件所在目录,此时不包括文件名字       即:E:java
:: %3. FILE_NAME:          表示当前文件的文件全名,不包括目录            即:HelloNpp.java
:: %4. NAME_PART:          表示当前文件的文件名称,不包括后缀或者扩展名字  即:HelloNpp
:: %5. EXT_PART:           表示当前文件的后缀名或扩展名           	   即: .java
::
:: 1、经测试 批处理区分参数中的大小写,所以c和C是不同的,C是C++的后缀

:: 2、关于空格,目录名有空格的情况,所以需要加双引号“”,否则向批处理文件传输参数时参数就有问题,
:: 再用%~1格式去掉引号
:: %1就是表示批处理的第一个参数,
:: %~1表示删除参数外面的引号
:: 比如有个批处理文件 test.bat  
:: 在cmd中输入命令: test.bat  "test"
:: %1表示的是“test“。 
:: %~1表示的是test,没有了双引号
::  
:: 将该文件命名为“TEST.BAT”放在notepad++的安装路径内
:: 编译:"TEST.BAT" "$(FULL_CURRENT_PATH)" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)" "$(NAME_PART)" "$(EXT_PART)" compile
:: 运行:"TEST.BAT" "$(FULL_CURRENT_PATH)" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)" "$(NAME_PART)" "$(EXT_PART)" run
:: 

@echo off
if {%~5}=={.c} 	goto c
if {%~5}=={.cpp} 	goto cpp
if {%~5}=={.C} 	goto cpp
if {%~5}=={.java} 	goto java

::*************编译*****************

::-------------------------------C语言------------------
:c
if exist "%~2%~4.exe" del "%~2%~4.exe"
gcc -Wall "%~1" -o  "%~2%~4"
if errorlevel 1 goto warn
if {%6}=={run} goto exe  

echo 编译成功
goto end
::-------------------------------C++ ------------------
:cpp
if exist "%~2%~4.exe" del "%~2%~4.exe"
g++ -Wall "%~1" -o  "%~2%~4"
if errorlevel 1 goto warn
if {%6}=={run} goto exe  

echo 编译成功
goto end
::-------------------------------Java-------------------
:java

if exist "%~2%~4.class" del "%~2%~4.class"
javac "%~1"
if errorlevel 1 goto warn
if {%6}=={run} goto class  
echo 编译成功
goto end


::*************运行*****************

::-------------------------------EXE----------------------
:exe
"%~2%~4.exe"
echo.   
echo 删除%~2%~4.exe
del "%~2%~4.exe"
goto end

::-------------------------------CLASS----------------------
:class
java -cp "%~2" "%~4"
echo.   

echo 删除%~2%~4.class
del "%~2%~4.class"
goto end
::---------------------------------------------------------
:warn
echo 编译错误
goto end
:end
pause

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读