本帖最后由 pcl_test 于 2016-5-29 12:56 编辑
回复 2# gawk - @echo off&setlocal enabledelayedexpansion
- if "%1%"=="f" goto 1
- goto 权限错误
- :1
- title 删除积分记录
- cls
- echo=
- echo=
- echo 快保维修会员管理系统V1.00 删除积分记录
- echo =======================================
- dir /b shuju
- echo =======================================
- echo 请输入车号,输入0返回!
- set /p u=
- if "%u%"=="" goto 1
- if "%u%"=="0" goto end
- if not exist shuju\%u% goto 车号不存在
- :2
- cls
- if exist temp\ls.txt del temp\ls.txt>nul
- if exist temp\list.txt del temp\list.txt>nul
- set k=%time: =0%
- set l=%k::=%
- set m=%l:~0,6%
- set n=%date:~2,2%
- if not exist shuju\%u%\%n%* goto 3
- dir shuju\%u%\%n%* /b >temp\ls.txt
- findstr /n .* temp\ls.txt>>temp\list.txt
- echo=
- type temp\list.txt
- :3
- set z=0
- echo ===============================================================
- for /f %%b in (shuju\%u%\zf) do (echo 车号 %u% 的车辆,目前积分 %%b 分!)
- echo ===============================================================
- echo 请输入要删除的积分记录,输入 X 删除 %u% 所有积分记录
- echo 0=返回
- set /p z=请输入要删除的序号
- if "%z%"=="" goto 2
- if "%z%"=="0" goto end
- if "%z%"=="x" goto 删除全部
- set d=temp\ls.txt
- for %%e in (%z%) do (call :lp %%e)
- :lp
- for /f "tokens=1,* delims=:" %%f in ('findstr/n .* %d%') do (
- if %%f equ %1 echo.%%g>>temp\new.txt)
- for /f %%e in (temp\new.txt) do (
- del shuju\%u%\%%e >nul 2>nul
- )
- for /f %%x in (shuju\%u%\zf) do (set jsj=%%x)
- echo A= %jsj% >>temp\js.vbs
- echo B= %sz% >>temp\js.vbs
- echo jieguo =eval(0+ A - B)>>temp\js.vbs
- echo createobject("scripting.filesystemobject").createtextfile("temp\sz.txt",true).write jieguo>>temp\js.vbs
- call temp\js.vbs
-
- for /f %%q in (temp\sz.txt) do (set xsj=%%q)
- del shuju\%u%\zf >nul 2>nul
- echo %xsj% >shuju\%u%\zf
- goto 2
- :删除全部
- echo=
- echo 您确定删除 %u% 的全部积分记录吗?【1=确定 0=返回】
- set /p o=
- if "%o%"=="" goto 删除全部
- if "%o%"=="1" goto 确定删除全部
- if "%o%"=="0" goto 1
- goto 1
- :确定删除全部
- del /q shuju\%u%\*.*
- rd shuju\%u%
- if not exist shuju\%u% goto 1
- goto 删除全部错误
- :车号不存在
- echo=
- echo 您输入的车辆 %u% 不存在...
- pause
- goto 1
- :删除全部错误
- echo=
- echo 删除 %u% 全部积分记录失败,请稍后再试...
- pause
- goto 1
- :权限错误
- cls
- echo=
- echo 该功能模块为系统调用...
- pause
- :end
复制代码 代码如上,出现错误的地方集中在第37行那里,例如:当该批处理文件执行5次之后,输入0,程序并不结束,而是继续执行,当连续输入5次0之后,程序才结束,也就是说,该批处理执行几次,那么退出的时候也需要执行几次,才能退出!
把%号改成!号没用。 |