中国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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: