标题: [文件操作] 实现运行第一次更新批处理代码 [打印本页]
作者: gd6570 时间: 2015-2-8 12:46 标题: 实现运行第一次更新批处理代码
想实现这样一个功能,不知可否做到?
例如:1.bat文件内容:
@echo off
mode con: cole:50 lines:20
echo 显示内容
echo 显示内容2
copy *.jpg d:\
del /f /s /q *.jpg
pause
我想第一次运行1.bat之后删除指定行的命令,例如,删除第4、5、6行命令并更新1.bat文件自身。不知道批处理可不可以做到这样?帮忙解答一下,可以的话给一下代码,谢谢了
作者: gd6570 时间: 2015-2-8 16:08
我觉得应该是,建立另外一个bat文件命名同为1.bat,然后删除自身,
作者: gd6570 时间: 2015-2-8 16:58
回复 2# gd6570
问题是存在重复文件重命名无法进行
作者: yiwuyun 时间: 2015-2-8 19:30
- @echo off
- mode con: cole:50 lines:20
- echo 显示内容
- echo 显示内容2
- copy *.jpg d:\
- del /f /s /q *.jpg
- sed -i "4,7d" %~f0
- pause
复制代码
作者: gd6570 时间: 2015-2-8 19:41
回复 4# yiwuyun
这不是linux上的命令嘛,还得下第三方exe文件
作者: gd6570 时间: 2015-2-8 19:45
回复 4# yiwuyun
没有删除替换的语句
作者: c755731262 时间: 2015-2-9 12:15
- @echo off&color f0&setlocal enabledelayedexpansion
- call 1.bat
- set n=0
- for /f "delims=" %%i in (1.bat) do (
- set /a n+=1
- if !n! leq 2 (echo %%i>>$) else (if !n! gtr 6 echo %%i>>$)
- )
- del 1.bat
- ren $ 1.bat
- pause
复制代码
回复 1# gd6570
作者: caruko 时间: 2015-2-9 12:32
本帖最后由 caruko 于 2015-2-9 12:37 编辑
- @echo off
- echo 显示内容1
- echo 显示内容2 &rem
-
- pause rem
- rem 上面是需求代码,以下是处理代码
- set "p=%~dp0"&rem
- set "my=%~nx0"&rem
- findstr /V "rem" "%p%%my%" >"%p%new"
- cmd /c ren "%p%%my%" old.bat&ren "%p%new" "%my%" &rem
复制代码
作者: gd6570 时间: 2015-2-10 22:45
caruko 发表于 2015-2-9 12:32
这个确实起到了这个效果,但是一弄到exe文件里面就更新不了了,话说,还看不懂代码意思来着,
作者: caruko 时间: 2015-2-11 10:01
回复 9# gd6570
需要处理的代码,在后面加上 &rem
不需要处理的不加
pause 后面的代码,放在最后就可以了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |