plp626 当前离线
贵宾
批处理加密其中一个方法就是利用unicode 文件头(文件前两个字节十六进制为“FF FE”,此法以实用性被广泛应用) 只是有个致命缺陷:代码的第二行要跟一个cls语句把错误给刷掉,如果在命令行下调用的话,会把屏幕已经输出的信息也给刷掉了,关于这个缺陷原来在cn-dos的时候一直没有得到解决。 我想到了batman那个多行回退的代码 set/p=【制表符】【若干退格符】<nul(不知道的会员可以搜索哈) 然后,今天我觉得这个问题在理论上便解决了。 再然后,bat,vbs混合编程的那个清屏也可以用这个代码来代替cls了;
原帖由 zm900612 于 2011-3-12 16:59 发表 知道了技巧,退行容易,但是如何做到判断非空行数和不清空原来的内容呢? 写了个处理1.bat的半成品,目前在1.bat被call的时候表现尚可,但是直接运行1.bat时就问题大大的,因为无从猜测运行时会有几行的多余回显。 ...
TOP
copy/b uniode.bat + 你要加密的文件.bat 已加密.bat复制代码
原帖由 zm900612 于 2011-3-12 17:54 发表 我没加@echo off啊,加@只是为了屏蔽本条命令的回显
? 2>nul&(@echo )||echo 123123123 @echo off echo 123 pause复制代码
@echo off chcp 437 wmic os>tmp set /p head=nul>head copy /b head+%0 unicode或者 晕,最简单的那个方案因为有特殊字符无法直接贴出来,请看附件 zm900612 发表于 2011-6-10 16:54
13# plp626 不是的,特殊字符是一个FF字符和一个汉字,分开没事,放在一起就发不了。 如果用那个函数的话,那直接生成fffe就行了,也无需再用别的方式 zm900612 发表于 2011-6-10 18:52