隐藏BAT文件的问题 50
我做了一个A.bat文件,现在想把它里面的代码隐藏起来,请各位大神支招。目前已经让它只闪一下窗口,执行过程已经隐藏了,想更进一步。我下载了一个BatToExeConver...
我做了一个A.bat文件,现在想把它里面的代码隐藏起来,请各位大神支招。
目前已经让它只闪一下窗口,执行过程已经隐藏了,想更进一步。
我下载了一个Bat To Exe Converter.exe。但是使用上有点不明白的地方,以下提到的文件均在同一目录下。
A:我可以把A.bat转换面A.EXE了,但是原来的A.bat文件怎么办?我发现把原来的A.bat文件删掉,A.exe不能运行了,既然生成了exe,为什么原来的bat还要保留呢,那我生成exe有什么意义,别人一样可以打开我的bat来看代码,还是说我的操作错了?
下面的操作是已经生成exe了,但是没删除bat。
B:我调用到2个exe执行程序,就当是B.exe和C.exe吧,当我不把它们放到A.exe里面去时,运行A.exe,可以得到我想要的结果。
C:当我把B.exe和C.exe一起打包到A.exe里面去时,问题出现了,运行A.exe。它提示B.exe和C.exe已经存在,是否要覆盖,我选择是,B.exe和C.exe就不见了,仅剩A.exe和A.bat,输出的结果也只有B.exe输出的结果,而我一系列操作后再调用C.exe输出的结果没有。意思就是说出错了
真心不明白,附上代码,求大神解答。
以下代码,不包含可以生成s19,hex,bin,img文件各一个
包含只能生成s19,hex各一个,少了2个
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
copy ..\debug\1.hex .\1.hex /y
copy ..\debug\2.hex .\2.hex /y
copy ..\debug\1.s19 .\1s19 /y
copy ..\debug\2.s19 .\2.s19 /y
hex2bin.exe 1.hex
BIN2IMG 1.bin
copy build.img mcusys.img
copy mcusys.img mcusys.bin
del build.img
del *.evn
del *.odd
copy 1.s19 1.txt
copy 2.s19 2.txt
del *.s19
@echo off&setlocal enabledelayedexpansion
for /f %%a in (1.txt) do (
echo;!var!
set var=%%a)>> 1_A.txt
del 1.txt
type *.txt > a.txt
copy a.txt mcu.s19
del *.txt
copy 1.hex 1.txt
copy 2.hex 2.txt
del *.hex
@echo off&setlocal enabledelayedexpansion
for /f %%a in (1.txt) do (
echo;!var!
set var=%%a)>> 1_A.txt
del 1.txt
type *.txt > a.txt
for /f "skip=1 delims=" %%i in ('type "a.txt"') do echo %%i>>aa.txt
copy aa.txt mcu.hex
del *.txt
#pause
呵呵,经过自己不懈的努力,已经搞定 展开
目前已经让它只闪一下窗口,执行过程已经隐藏了,想更进一步。
我下载了一个Bat To Exe Converter.exe。但是使用上有点不明白的地方,以下提到的文件均在同一目录下。
A:我可以把A.bat转换面A.EXE了,但是原来的A.bat文件怎么办?我发现把原来的A.bat文件删掉,A.exe不能运行了,既然生成了exe,为什么原来的bat还要保留呢,那我生成exe有什么意义,别人一样可以打开我的bat来看代码,还是说我的操作错了?
下面的操作是已经生成exe了,但是没删除bat。
B:我调用到2个exe执行程序,就当是B.exe和C.exe吧,当我不把它们放到A.exe里面去时,运行A.exe,可以得到我想要的结果。
C:当我把B.exe和C.exe一起打包到A.exe里面去时,问题出现了,运行A.exe。它提示B.exe和C.exe已经存在,是否要覆盖,我选择是,B.exe和C.exe就不见了,仅剩A.exe和A.bat,输出的结果也只有B.exe输出的结果,而我一系列操作后再调用C.exe输出的结果没有。意思就是说出错了
真心不明白,附上代码,求大神解答。
以下代码,不包含可以生成s19,hex,bin,img文件各一个
包含只能生成s19,hex各一个,少了2个
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
copy ..\debug\1.hex .\1.hex /y
copy ..\debug\2.hex .\2.hex /y
copy ..\debug\1.s19 .\1s19 /y
copy ..\debug\2.s19 .\2.s19 /y
hex2bin.exe 1.hex
BIN2IMG 1.bin
copy build.img mcusys.img
copy mcusys.img mcusys.bin
del build.img
del *.evn
del *.odd
copy 1.s19 1.txt
copy 2.s19 2.txt
del *.s19
@echo off&setlocal enabledelayedexpansion
for /f %%a in (1.txt) do (
echo;!var!
set var=%%a)>> 1_A.txt
del 1.txt
type *.txt > a.txt
copy a.txt mcu.s19
del *.txt
copy 1.hex 1.txt
copy 2.hex 2.txt
del *.hex
@echo off&setlocal enabledelayedexpansion
for /f %%a in (1.txt) do (
echo;!var!
set var=%%a)>> 1_A.txt
del 1.txt
type *.txt > a.txt
for /f "skip=1 delims=" %%i in ('type "a.txt"') do echo %%i>>aa.txt
copy aa.txt mcu.hex
del *.txt
#pause
呵呵,经过自己不懈的努力,已经搞定 展开
1个回答
展开全部
又是一个刚要开始学BAT的人,和我一样刚开始不知从何学起,网上的东西不少看不懂。我下面用点时间帮你起个步,可能有说的不对的地方,有高手看见就在下面说两句。
你要想学bat就必须看得懂教程、帮助。像上面那位说的那样,用“/?”。
比如说,你先打开命令提示符,要用del命令,就输入"help del"无引号,或者"del /?"无引号(有些不能用help就用后者),再回车,就会列出这个命令的用法和功能。
del的帮助就是:
DEL [/P][/F][/S][/Q]name 等
下面有提示/p是什么意思等。
那这个怎么用呢,其实说明写得很明确,只是我们不习惯而已。
比如要强制删除一个只读文件时就可以用
del D:\Program Files\qq\qq.exe /f
当然/f 也可以写在路径的前面,其中有空格的地方我空了很多,实际操作中只要空一格。这里的/f可以换成/p等提示中有的命令。你现在可以自己试试能不能有效了。
对了,如果你不知道有些什么命令,可以直接输入help+回车,就会列出命令集了。
对不起,差点忘了你是问bat的,你编bat时希望在首行打上"@echo off"无引号。一行一个语句。如果你要删东西的话,把上面那句以del开头的语句敲到第二行就行了,如果你想看看反馈回来的信息就再在下行敲入"pause"。其他的就只能你自己试了。
如果你学会了,以后有菜鸟问你bat之类的东西不要嫌烦,稍微引导一下,想想自己以前投师无门情况。好好学。留个Email:fanqisyx@163.com 。有什么初等问题我应该还帮得上忙
这样可以么?
你要想学bat就必须看得懂教程、帮助。像上面那位说的那样,用“/?”。
比如说,你先打开命令提示符,要用del命令,就输入"help del"无引号,或者"del /?"无引号(有些不能用help就用后者),再回车,就会列出这个命令的用法和功能。
del的帮助就是:
DEL [/P][/F][/S][/Q]name 等
下面有提示/p是什么意思等。
那这个怎么用呢,其实说明写得很明确,只是我们不习惯而已。
比如要强制删除一个只读文件时就可以用
del D:\Program Files\qq\qq.exe /f
当然/f 也可以写在路径的前面,其中有空格的地方我空了很多,实际操作中只要空一格。这里的/f可以换成/p等提示中有的命令。你现在可以自己试试能不能有效了。
对了,如果你不知道有些什么命令,可以直接输入help+回车,就会列出命令集了。
对不起,差点忘了你是问bat的,你编bat时希望在首行打上"@echo off"无引号。一行一个语句。如果你要删东西的话,把上面那句以del开头的语句敲到第二行就行了,如果你想看看反馈回来的信息就再在下行敲入"pause"。其他的就只能你自己试了。
如果你学会了,以后有菜鸟问你bat之类的东西不要嫌烦,稍微引导一下,想想自己以前投师无门情况。好好学。留个Email:fanqisyx@163.com 。有什么初等问题我应该还帮得上忙
这样可以么?
追问
NO,我是一个程序员,不想学BAT。也没有那个时间去学习BAT。
我只是处理一些程序出来的结果,用BAT编写一系列命令去执行,比如说合并一些目标文件,修改一些目标文件,加密==。
BAT我会用,一部分就足够了。我只是不想我的BAT指令处理过程给别人看到而已
以后别人要使用我的东西,只需要双击一下鼠标,执行一个文件,就能得到想要的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询