之前,一个朋友让我用cmd做个简单的文档加密(base64),对于不太懂电脑的人来说看不懂就行。但是当那个人点击加密后的文件可以正常运行,问咋写?

  其实,像这种要求不高的加密来说,随便下载个加密软件就好。但是对加密后的文件直接双击就可以和源文件那样直接运行就很少了。

  这里我们用到的是windows自带的certutil命令,有关其命令的详解,大家直接执行certutil /? 就可以查看。

以下是我写的bat文件:

其中:

1.readme.txt  说明文档

使用说明:
  .将你要加密的文件复制到Material文件夹下,如果没有Material可以自己新建
  .双击ClickToEncodeFiles.bat文件,加密Material文件夹下的文件
  .打开encodeFiles文件夹,其中就是加密后的文件 注意:
  .加密的文件名不能有空格
  .每次会输出加密的结果注意查看。

2.ClickToEncodeFiles.bat 运行文档

@echo off
chcp
if not "%OS%"=="Windows_NT" exit
title EncodeFiles
color 0a
more readme.txt
pause chcp >nul
setlocal EnableDelayedExpansion rem 创建需要的文件夹
REM if not exist decodeFiles mkdir decodeFiles
if not exist encodeFiles mkdir encodeFiles
if not exist Material (
mkdir Material
echo Please put the files which you want to encrypt in the "Material" folder of the current directory.
pause
exit
) REM Encrypt Files in the "Material" folder of the current directory
echo Please ensure your encrypt files in Material folder .
echo=
set finallyPath=-
for /F "tokens=1 delims=/" %%i in ('dir /b /on Material') do (
echo Start encode %%i
set finallyPath=".\encodeFiles\%%i.bat"
REM echo !finallyPath!
rem decode code
echo @echo off > !finallyPath!
echo certutil -f -decode "%%0" %%temp%%\%%i ^>nul >>!finallyPath!
echo start %%temp%%\%%i>>!finallyPath!
REM echo pause >>!finallyPath!
echo exit >>!finallyPath!
echo= >>!finallyPath! certutil -F -encode ".\Material\%%i" "%temp%\%%i.txt" | find "FAILED" >nul && ( echo %%i encode defeated ^!^!^!^! & echo= )|| ( echo %%i encode passed & echo= )
more "%temp%\%%i.txt" >>!finallyPath!
if exist "%temp%\%%i.txt" del "%temp%\%%i.txt"
) start .\encodeFiles\
pause
exit

3.Material 中是要加密的文件

4.encodeFiles 是加密完成后的文件,双击可运行

下载地址:

  https://github.com/feiquan123/encodeFiles/

cmd实现批量文件的base64加密并双击加密文件后正常运行的更多相关文章

  1. JQuery获取图片大小并控制图片文件上传大小以及上图片文件时如何预览图片

    首先我们来看效果图: 点击上传之后如下: 在这里我获取到文件的大小,并且如果超出我设定的大小,则禁止上传! 不多说,上代码:先看div布局: <div class="imageCont ...

  2. 双击jar文件运行程序

    Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件.可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Wind ...

  3. 读取本地json文件,转出为指定格式json 使用Base64进行string的加密和解密

    读取本地json文件,转出为指定格式json   引用添加Json.Net 引用命名空间 using Newtonsoft.Json //读取自定目录下的json文件StreamReader sr = ...

  4. bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)

    前言: 在平时的工作中,经常需要批量统计文件和数据,如果逐个统计的话太耗时,而且容易出错那么有没有什么快速的方法呢,这里给大家介绍一种简单高效的方法. 方法: 1.打开CMD命令: 按下 Ctrl+R ...

  5. iOS加密方式及解压缩文件

    Base64加密方式 Base64是一种加密方法,可逆的加密. Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符./ + 填充 = echo -n BC|base64 ...

  6. (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

    我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...

  7. R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)

    笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...

  8. HTML5 通过文件输入框读取文件为base64文件, 并借助canvas压缩 FileReader, files, drawImage

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. Sqlite表结构读取工具,word批量转html,在线云剪贴板,文件批量提取工具;

    工欲善其事必先利其器,本周为您推荐工具排行 Sqlite表结构读取工具,word批量转html,在线云剪贴板,文件批量提取工具:     本周我们又要发干货了,准备好接受了吗? 为什么是干货,就是因为 ...

随机推荐

  1. [Swift]LeetCode466. 统计重复个数 | Count The Repetitions

    Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...

  2. 开发常用的 Android 函数库

    第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人员辛勤工作的成果,我们开发起来更轻松和快捷.目前存在成千上万的函数库,如何选择正 ...

  3. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

  4. Hive篇--相关概念整理一

    一.前述 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低 ...

  5. RabbitMQ学习笔记(六) RPC

    什么RPC? 这一段是从度娘摘抄的. RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...

  6. 为VIP解决问题时写的源码

    平时为学生们解决问题时,建立的项目源代码,方便大家学习与讨论. 开源DEMO列表 1. https://github.com/bfyxzls/student_orderBy 2. https://gi ...

  7. Docker折腾手记-linux下安装

    Linux下的安装方法 博主用的是centos7,其它也是大同小异 我根据的是官网的教程进行的操作,地址是 https://docs.docker.com/engine/installation/li ...

  8. windows下用cmd命令netstat查看系统端口使用情况

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  9. 深入浅出解读 Java 虚拟机的差别测试技术

    本文分享基于字节码种子生成有效.可执行的字节码文件变种,并用于 JVM 实现的差别测试.本文特别提出用于修改字节码语法的classfuzz技术和修改字节码语义的classming技术.上述变种技术系统 ...

  10. linux rsync 实际应用

    linux rsync 实际应用 一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和 ...