自学批处理笔记——三种建立畸形文件夹的方法 计算机发展故事
这个是我从批处理之家里转来的,小有修改,特此声明。貌似也不是原创。只要能学的就拿来了。
以下这三中方法都是在windows下的cmd中执行 第一种: md 文件名..\\
例如在D盘下建立一个畸形文件夹smilediao执行下面的命令 md D:\\smilediao..\\
此文件夹在windows图形界面下既不可以打开又不可以删除。 打开方法:
在运行里输入“D:\\smilediao..\\” 可以用360强力删除。 第二种: md 文件名...\\
例如在D盘下建立一个畸形文件夹smilediao执行下面的命令 md D:\\milediao...\\
大多数对付autorun病毒的批处理就是利用了这个文件夹(大概的方法就是建立一个名为autorun.inf的文件夹,然后在该文件夹里面建立一个这样的畸形文件夹)
此文件夹在windows图形界面下可以打开,但是不可以删除。 打开方法:
在运行里输入 “D:\\smilediao...\\” 第三种: md com1\\
注意:此文件夹的名称必须是com1不可以是别的名称。至于为什么本论坛里有解释,我就不在这里多说了。 例如在D盘下建立一个畸形文件夹com1执行下面的命令 md D:\\com1\\
此文件夹可以打开但是不能在windows图形界面下删除。 下面我将说一下他们的删除方法 第一种的删除方法
执行命令rd D:\\smilediao..\\ 或者rd /s /q D:\\smilediao..\\ 第二中的删除方法
执行命令rd D:\\smilediao...\\ 或者 rd /s /q D:\\smilediao...\\ 第三种的删除方法 执行命令rd \\\\.\\D:\\com1
总结:动动脑子,可以很好的利用这些畸形文件夹!呵呵。。。
再看看一个长篇的故事吧,我想会有收获的
源地址是:http://www.bathome.net/thread-2101-1-13.html 自己有耐心的看看,我觉得写的很好,长长见识!!!
自学批处理笔记(8) set 变量 cls tree set的基本用法讲了,继续:
1.%变量名:部分内容=新内容% 作用:修改变量部分内容 例如:@echo off set \我是小明\ set \明=丁%\
echo %b% pause 则结果为:我是小丁
注意:set的替换不区分大小写也就是说 set a=%str:a=b%那么他会将所有的a和A都换为b。 那么有时候要进行大小写的互换我们又该怎么办,我是用if,if是区分大小写的。
2.%变量名:~x,y% 作用:截取变量部分内容并使用它(x y都为数字,表示从截取x后的y位) 例如:set \那么 set “b=%a:~1,3%” 则b=234 set “b=%a:~1,-1%” 则b=2345678 set “b=%a:~1%” 则b=23456789
为了加强理解把下面代码粘贴到批处理文件里(来自批处理之家): @echo off&color 1f&rem num=15 nums=30 mode con: cols=80 lines=35 set \set \ \
set \ \rem 第一屏 舍弃 cls&echo 第一屏 舍弃
echo\\&echo %num% var=%var%&echo\\ for /l %%i in (1 1 3) do call :dan %%i echo\\
for /l %%i in (0 1 1) do call :yi %%i echo\\
for /l %%i in (0 1 2) do call :_yi %%i
echo ~ 波浪号后面的数字:为正数表示舍弃变量的前位; echo , 逗号后面的数字为正数表示取变量的舍弃以后的前几位; echo , 逗号后面为负数表示舍弃变量的后几位 echo\\&echo\\&pause&color 1e rem 第二屏 取 cls&echo 第二屏 取
echo\\&echo %num% var=%var%&echo\\ for /l %%i in (-1 -1 -3) do call :dan %%i echo\\
for /l %%i in (-4 -1 -6) do call :er %%i echo\\ call :_er -8
echo ~ 波浪号后面直接跟负数表示取变量的后几位
echo , 逗号后面的数字为正数表示取变量的舍弃以后的前几位; echo , 逗号后面为负数表示舍弃变量的后几位 echo\\&echo\\&pause&color 1f rem 第三屏 替换 删除 cls&echo 第三屏 替换 删除
set \echo\\&echo %num%var=%var% echo\\ call :san
echo = 号左边为要替换掉的字符, 右边为需替换来的字符
echo = 号左边要替换掉的字符前面加个*号,代表第一次出现的字符及其前面的所有字符 echo\\
echo ========= 演示完毕 ========= 按任意键退出 ========== pause>nul exit :dan
set shu=%1
if %shu% lss 0 (set aa=取&set ji=最后) else set aa=舍弃&set ji=前 if \set str1=%%var:~%1%%%num%
set str2=a%var的%ji%%shu%位%nums% call set str3=%%var:~%1%%%num%
call echo %%str1:~0,15%% %%str2:~0,30%% %%str3:~0,15%% goto :eof :yi
set shu=%1
if %shu% lss 0 (set aa=取&set ji=最后) else set aa=舍弃&set ji=前 for /l %%i in (1 1 3) do (
set str1=%%var:~%1,%%i%%%num%
set str2=a%var的%ji%%shu%位之后取%%i位%nums% call set str3=%%var:~%1,%%i%%%num%
call echo %%str1:~0,15%% %%str2:~0,26%% %%str3:~0,15%% if %%i==3 echo\\ ) goto :eof :_yi
for /l %%i in (-1 -1 -3) do (
set str1=%%var:~%1,%%i%%%num% set str2=舍弃var的前%1位和%%i位%nums% call set str3=%%var:~%1,%%i%%%num%
call echo %%str1:~0,15%% %%str2:~0,28%% %%str3:~0,15%% if %%i==-3 echo\\ ) goto :eof :er set sss=%1 set sss=%sss:~1% for /l %%i in (1 1 3) do (
set str1=%%var:~%1,%%i%%%num%
set str2=从var的倒数%sss%位开始取%%i位%nums% call set str3=%%var:~%1,%%i%%%num%
call echo %%str1:~0,15%% %%str2:~0,24%% %%str3:~0,15%% if %%i==3 echo\\ ) goto :eof :_er set sss=%1 set sss=%sss:~1% for /l %%i in (-1 -1 -3) do (
set str1=%%var:~%1,%%i%%%num%
set str2=从var的倒数%sss%位开始并舍弃最后%%i位%nums% call set str3=%%var:~%1,%%i%%%num%
call echo %%str1:~0,15%% %%str2:~0,20%% %%str3:~0,15%% if %%i==-3 echo\\ ) goto :eof :san
set str1=%%var:\set str2=删除var中的所有^\号%num% set str3=%var:\
call echo %%str1:~0,13%% %%str2:~0,23%% %%str3:~0,30%% set str1=%%var:\\=%%%num% set str2=删除var中的所有\\号%num% set str3=%var:\\=%%nums%
call echo %%str1:~0,13%% %%str2:~0,23%% %%str3:~0,30%% set str1=%%var::=%%%num% set str2=删除var中的所有:号%num% set str3=%var::=%%nums%
call echo %%str1:~0,13%% %%str2:~0,23%% %%str3:~0,30%% echo\\
set str1=%%var:\好%%%num%
set str2=替换var中的所有^\号为好字%num% set str3=%var:\好%%nums%
call echo %%str1:~0,12%% %%str2:~0,20%% %%str3:~0,30%% set str1=%%var:\\=好%%%num%
set str2=替换var中的所有\\号为好字%num% set str3=%var:\\=好%%nums%
call echo %%str1:~0,12%% %%str2:~0,20%% %%str3:~0,30%% set str1=%%var::=好%%%num%
set str2=替换var中的所有:号为好字%num% set str3=%var::=好%%nums%
call echo %%str1:~0,12%% %%str2:~0,20%% %%str3:~0,30%% echo\\
set str1=%%var:*\set str3=%var:*\
echo 删除var中的第一次出现的^\号及其前面的所有字符 call echo %%str1:~0,15%% %%str3:~0,30%% echo.
set str1=%%var:*\\=%%%num% set str3=%var:*\\=%%nums%
echo 删除var中的第一次出现的\\号及其前面的所有字符 call echo %%str1:~0,15%% %%str3:~0,30%% echo.
set str1=%%var:*:=%%%num%