中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]关于批处理用 %%%a 加密的方法.
作者:
标题: [分享]关于批处理用 %%%a 加密的方法. 上一主题 | 下一主题
raythunder
初级用户





积分 47
发帖 30
注册 2007-12-18
状态 离线
『楼 主』:  [分享]关于批处理用 %%%a 加密的方法.

感谢大家帮我解决了一个个人的大问题. 这里给大家看下,我收集整理的用%%%a来加密批处理的方法. 希望其中某些内容对大家能有所用处. 其中有什么欠缺,希望大家能指出来. 不会上传文件 :( 代码如下:
@Echo off
Set I=%%%%%%%%%R
Set /a n=0
Set /a m=0
Set Tit=----By: ^Ray
Title 批处理命令行加密%Tit%&&color 2F
:Menu
Set file=%1
If "%file%"=="" Goto Ec
echo %file%|findstr /i "\.bat$">nul && goto loop
echo %file%|findstr /i "\.cmd$">nul && goto loop
echo ==================== 
echo   请输入正确的文件 
echo ==================== 
echo. 
echo. 
echo 按任意键退出...... 
pause>nul 
goto Exit 
:loop
If %n%==100 Goto Sec1
Set I=%I% %%%%%%%%%R
Set /a n=%n%+1
goto loop
:Sec1
echo %I%>"%file%.bat"
echo cls>>"%file%.bat"
type "%file%">>"%file%.bat"
Set /a m=%m%+1
Goto YN
:Sec2
echo %I%>"%file%.bat"
echo ^@echo off ^& cls>>"%file%.bat"
type "%file%">>"%file%.bat"
Set /a m=%m%+1
Goto YN
:Sec3
echo %I%>"%file%.bat"
echo ^@echo off>>"%file%.bat"
echo cls>>"%file%.bat"
type "%file%">>"%file%.bat"
Set /a m=%m%+1
Goto YN
:Sec4
echo %I%>"%file%.bat"
type "%file%">>"%file%.bat"
Set /a m=%m%+1
Goto YN
:Sec5
Cls 
Del "%file%.bat" /Q >NUL
Title 遗憾失败了%Tit%
Cls
echo.
echo ==================================================== 
echo 尝试个人已知的命令行加密方式,也无法为本文件加密:(
echo ====================================================
echo 对此表示遗憾!
echo ====================================================
echo 如果您能为本文件加密,还忘不吝赐教
echo ====================================================
echo 邮箱:5378851@QQ.COM
echo ====================================================
echo.
echo 按任意键退出本程序...... 
echo.
pause>nul 
goto Exit
:Ext
Title 加密成功%Tit%
Echo.
Echo 使用第%m%种方式加密成功,加密文件位于原文件目录
Echo.&&Echo "%file%.bat"
Echo.&Echo 接任意键后以文本方式打开加密后的文件……
Pause>NUL
If exist "%file%.bat" start Notepad "%file%.bat"
Exit 
:EC
Title 程序说明%Tit%
Echo.&Echo 您不需要打开本程序,直接把需要加密的批处理拖放到本程序上即可.
Echo.&Echo 按任意键退出……&pause>NUL&Goto Exit
:YN
cls
setlocal enabledelayedexpansion 
for %%i in ("%file%.bat") do ( 
    echo %%~zi >nul 2>nul 
    set  /a size=%%~zi 
    set /a mod=!size!%%2
    if !mod!==0 (goto Ext) else (goto Sec%m%) 
) 


2009-2-1 15:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『第 2 楼』:  

为什么把它弄的这么复杂?将文件copy到Unicode编码的空文件夹不就成了。


2009-2-1 21:29
查看资料  发短消息  网志   编辑帖子  回复  引用回复
753789
新手上路





积分 1
发帖 1
注册 2008-4-14
状态 离线
『第 3 楼』:  

又学到不少 。谢谢


2009-2-1 22:22
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: