- ·上一篇文章:for语句中的几种分隔符形式
- ·下一篇文章:Norton Ghost批处理命令用法详细介绍
hitme批处理集合
件在同一时间只能支持一 个srt字幕,所以才会有此要求 设文件名为file1.txt file2.txt,以下内容保存为.bat文件执行 fuck.bat 代码: del 1.txt 2.txt all.txt 合并后文档.txt echo 加一行 >2.txt type file2.txt >>2.txt copy file1.txt 1.txt :#源文件准备 findstr /n "." 1.txt 2.txt >tmp.txt :#合并源文件并添加行号 for /l %%i in (1,1,500) do findstr /r "^1.txt:%%i:" tmp.txt >>all.txt || findstr /r "^2.txt:%%i:" tmp.txt >>all.txt :#分析,构造目标文件 for /f "tokens=3,* delims=:" %%i in (all.txt) do echo %%i%%j >>合并 后文档.txt :#滤除多余信息 *交叉合并 ------------------------------------------------------------ 11.snap&compare 多个html的固定内容 有以下内容 http://www.abcd.com/pub/wrok1.html http://www.abcd.com/pub/wrok2.html http://www.abcd.com/pub/wrok3.html . .. ... http://www.abcd.com/pub/wrok(*).html 每个html,几乎整个html部分都是固定内容,除了我要监测的(文本方式打开 )第225行,第38位开始,75位结束这段,它们 有不定时的改变,所有html更新的部分也许不止这一个地方,但我只想监测这 一段 有没有软件或方法snap一次镜像,然后下次再snap后作出对上次snap的对比 ,得出哪个url的html内容监测段作出了改变? 无错误控制,以下内容保存为.bat文件执行 snap&compare.bat 代码: @echo off del 差异.txt 2>nul copy /y snap.txt snap_old.txt 1>nul :#清理及悲愤snap :snap echo %date% %time% >snap.txt :#加入时间戳 set url=http://www.abcd.com/pub/wrok :#url变量赋值 for /l %%i in (1,1,100) do curl %url%%%i.html | findstr /n "." | findstr /r "^225:" >>tmp.txt && echo %url%%%i >>tmp.txt :#下载htm并过滤所需行 setlocal ENABLEDELAYEDEXPANSION for /f "tokens=1* delims=:" %%i in (tmp.txt) do if "%%i" "http" (echo %%i%%j !n! >>snap.txt) else set n=%%j endlocal :#整型快照 del tmp.txt :#删除临时文件 :goto if not exist snap_old.txt cls && echo 第一次建立快照文件 snap^.txt^,请再次运行snap^&compare^.cmd获取文件差异 && pause && goto end :#判断是否存在对比快照,如不存在则不进行差异比较 :compare findstr /n "." snap.txt >tmp1.txt findstr /n "." snap_old.txt >tmp2.txt :#为snap文本加入行号 for /l %%i in (2,1,100) do findstr /r "^%%i:" tmp1.txt tmp2.txt >>tmp3.txt :#以行号为序合并tmp文件 findstr /r "1:" tmp*.txt >>差异.txt :#添加时间戳 setlocal ENABLEDELAYEDEXPANSION for /f "tokens=1* delims=:" %%i in (tmp3.txt) do if %%i tmp1.txt (set n=%%j) else (if %%j neq !n! echo %%j>>差异.txt) endlocal :#比较文本,计算差异行及行号 del tmp*.txt :#清理临时文件 cls && echo 完成差异比较,请查看"差异.txt" && pause end: *两行并一行,相似文本比较 5. cmd cmd下的一些文件处理: 1.保持文件夹结构,copy特定大小,时间,类型文件 2.保持文件夹结构,copy文件名,内容空 3.按文件数量移动文件到目标目录 4.copy某层(3..4..5)子目录下的文件到目标路径 5.删除文件夹中非某扩展名(如txt)的文件 6.copy不同文件夹下的同名文件到目标文件夹 7.同一文件copy到所有子文件夹中 8.处理所有扩展名为e??且不是exe的文件 9.每个文件生成一个同名文件夹,然后把各个文件拷贝到同名文件夹中 10.删除空文件夹 1.保持文件夹结构,copy特定大小,时间,类型文件 #特定类型 xcopy /s/y *.exe 目标路径 *很多单独的命令(dir;xcopy等)自身就富有变化,善用之 #特定大小 (例如小于50000字节,具体运算符号:EQU - 等于 NEQ - 不等LSS - 小于 LEQ - NEQ - 不等于) for /r %i in (*.*) do if %~zi lss 50000 xcopy /s "%i" 目标路径"%~pi" *出动循环武器for命令,可与众多命令搭配使用,例如if,findstr,echo等等 *这里用它枚举子文件夹下的文件,%~zi扩冲为文件大小,交给if命令进行比较 运算,成功后xcopy至目标路径并copy文件夹 *for命令执行顺序)输入,for枚举,do...爱干吗干嘛 #特定时间 例:拷贝特定时间(2005-04-19)的文件,以下内容保存为.bat文件执行 代码: setlocal ENABLEDELAYEDEXPANSION for /r %%i in (*.*) do set dd=%%~ti && if "!dd:~0,8!" "05-04-19" xcopy /s "%%i" 目标路径"%%~pi" endlocal *同上一条,还是for,if,xcopy,由于不能直接对for变量%~ti进行%~ti:~0,8这 样的扩展,变通一下,set给普通变量,再做扩展 *%var~:0,8%扩展的说明:两个数字表示偏移量和长度,具体参看set /? *关于ENABLEDELAYEDEXPANSION延迟环境变量扩充,参看set /?,有实例说明 ----------------------------------------------- 2.保持文件夹结构,copy文件名,内容空 xcopy /t/s *.* 目标路径 for /r %i in (*.*) do echoc >目标路径"%~pnxi" *xcopy /t/s建立镜象文件夹,for /r in (*.*)枚举子文件夹中的文件,利用 echoc的bug,写入0字节文件 ----------------------------------------------- 3.按文件数量移动文件到目标文件夹,以下内容保存为.bat文件执行 代码: setlocal ENABLEDELAYEDEXPANSION set /a n=0 :loop set /a n=n+1 md 文件夹%n% for %%i in (*.*) do move "%%i" 文件夹%n% & dir 文件夹%n% | findstr /c:"100 个文件" && goto loop endlocal *需求将源文件夹中的文件,每100个移动至文件夹1..2..3 *for (*.*) do move一个 && 查找是否有100个了 && 找到跳出去,移动下 100个 ----------------------------------------------- 4.copy某层(3..4..5)子目录下的文件到目标
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] 下一页
hitme批处理集合