cmd实现批量文件的base64加密并双击加密文件后正常运行
之前,一个朋友让我用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加密并双击加密文件后正常运行的更多相关文章
- JQuery获取图片大小并控制图片文件上传大小以及上图片文件时如何预览图片
首先我们来看效果图: 点击上传之后如下: 在这里我获取到文件的大小,并且如果超出我设定的大小,则禁止上传! 不多说,上代码:先看div布局: <div class="imageCont ...
- 双击jar文件运行程序
Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件.可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Wind ...
- 读取本地json文件,转出为指定格式json 使用Base64进行string的加密和解密
读取本地json文件,转出为指定格式json 引用添加Json.Net 引用命名空间 using Newtonsoft.Json //读取自定目录下的json文件StreamReader sr = ...
- bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
前言: 在平时的工作中,经常需要批量统计文件和数据,如果逐个统计的话太耗时,而且容易出错那么有没有什么快速的方法呢,这里给大家介绍一种简单高效的方法. 方法: 1.打开CMD命令: 按下 Ctrl+R ...
- iOS加密方式及解压缩文件
Base64加密方式 Base64是一种加密方法,可逆的加密. Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符./ + 填充 = echo -n BC|base64 ...
- (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题
我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...
- R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)
笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...
- HTML5 通过文件输入框读取文件为base64文件, 并借助canvas压缩 FileReader, files, drawImage
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Sqlite表结构读取工具,word批量转html,在线云剪贴板,文件批量提取工具;
工欲善其事必先利其器,本周为您推荐工具排行 Sqlite表结构读取工具,word批量转html,在线云剪贴板,文件批量提取工具: 本周我们又要发干货了,准备好接受了吗? 为什么是干货,就是因为 ...
随机推荐
- [Swift]LeetCode867. 转置矩阵 | Transpose Matrix
Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...
- NumPy 学习笔记(三)
NumPy 数组操作: 1.修改数组形状 a.numpy.reshape(arr, newshape, order='C') 在不改变数据的条件下修改形状 b.numpy.ndarray.flat 是 ...
- 如何为自己的pip包打造可以执行的系统命令
1.我们在打包我们自己的Python Package的时候.我们不仅可以在代码中使用我们的package,而且可以添加一些可执行命令来执行自己的函数. 2 .我们应该怎么办呢? 1.首先新建目录以及文 ...
- C# 当中 LINQ 的常规用法(Lambda 方式)
仅以本篇博文记录 LINQ 相关操作的基本知识,原型参考自 MSDN 相关知识,中间加以自己的理解与 DEMO. 1. IEnuemrable<T>.Select() Select 方法比 ...
- qt 共享内存 单例
QT 进程间通信之古老的方法(内存共享) 让QT只运行一个实例 以上两篇文章中分别讲述了QSharedMemory的不同作用,第一篇讲了进程间通信,第二篇讲述了怎么让应用程序只 ...
- ReentrantLock原理学习
上文我们学习了ReentrantLock的基本用法,在最后我们留下了一个问题,ReentrantLock获取的锁是什么锁呢?本文我们就从源码的角度来一探究竟.本文涉及到的源码对应JDK版本为1.8. ...
- PC逆向之代码还原技术,第六讲汇编中除法代码还原以及原理第二讲,被除数是正数 除数非2的幂
目录 一丶简介 二丶代码还原讲解 1.被除数无符号 除数非2的幂 2.被除数无符号 除数为特例7 三丶代码还原总结 一丶简介 上一篇博客说的除2的幂. 如果被除数是有符号的,那么会进行调整,并使用位操 ...
- Python3+Selenium2完整的自动化测试实现之旅(七):完整的轻量级自动化框架实现
一.前言 前面系列Python3+Selenium2自动化系列博文,陆陆续续总结了自动化环境最基础环境的搭建.IE和Chrome浏览器驱动配置.selenium下的webdriver模块提供的元素定位 ...
- SpringCloud系列——Zuul 动态路由
前言 Zuul 是在Spring Cloud Netflix平台上提供动态路由,监控,弹性,安全等边缘服务的框架,是Netflix基于jvm的路由器和服务器端负载均衡器,相当于是设备和 Netflix ...
- js中如何在不影响既有事件监听的前提下新增监听器
一. 需求澄清 比如某个按钮已经绑定了2-3个对Window对象的load事件的监听,现在需要添加一个新的对click事件的监听器,但在一定条件下才会同时触发原有的2-3个load监听器,否则只触发新 ...