标题: [其他] 批处理怎样提示输入密码进行下一步操作? [打印本页]
作者: kindiaing 时间: 2013-9-24 16:13 标题: 批处理怎样提示输入密码进行下一步操作?
- @echo off
- title #清理营业数据处理#
- mode con:cols=50 lines=15
- echo. 初始化...
- net start MSSQLSERVER >nul
- cls
- echo.
- echo.
- set /p pw= -- 数据库密码:
- set datestr=%date%
- echo.
- echo. -- 计算机日期:%datestr:~0,10%
- set datestr=%DateStr:~0,4%%datestr:~5,2%
- color 0b
- echo.
- echo. -- 格式化日期:%datestr%
- ping 127.0.0.1 >nul
- color 0c
- echo.
- echo. ┏━━━━━━━━━━━━━━━━━━━━━━┓
- echo. ┃ 警告:请确认日期是否正确,是否数据库已备份!┃
- echo. ┗━━━━━━━━━━━━━━━━━━━━━━┛
- echo.
- echo. 任意键开始清理!
- pause >nul
- color 0a
- cls
- echo.
- echo.
- echo.
- echo. 正在执行……
- echo. use local > temp.sql
- echo. go >> temp.sql
- echo. truncate table reportCashStat >> temp.sql
- echo. truncate table reportDuty >> temp.sql
- echo. truncate table reportMonth >> temp.sql
- echo. truncate table hst_duty >> temp.sql
- echo. truncate table hst_duty_cash >> temp.sql
- echo. truncate table hst_duty_detail >> temp.sql
- echo. truncate table hst_nonpayment >> temp.sql
- echo. truncate table hst_cashserial%datestr% >> temp.sql
- echo. truncate table hst_dealrecord%datestr% >> temp.sql
- echo. truncate table hst_discountconsume%datestr% >> temp.sql
- echo. truncate table hst_presentation%datestr% >> temp.sql
- echo. truncate table hst_usehistory%datestr% >> temp.sql
- echo. truncate table hst_usepcbiz%datestr% >> temp.sql
- echo. go >> temp.sql
- osql -U netcafe -P %pw% -i temp.sql
- ping 127.0.0.1 >nul
- del temp.sql
- echo.
- echo. 操作完成!请重新启动服务和控制台!
- ping 127.0.0.1 >nul
- echo.
- echo. 稍候窗口将自动关闭!
- ping 127.0.0.1 >nul
复制代码
之前有过类似的一个批处理,看不到,目前我就是想用这个批处理登录数据库里面删除几个表格。里面用到引用密码的,不会设置,哪位看懂了帮忙给指点一二啊!
作者: DAIC 时间: 2013-9-24 20:48
- @echo off
- title #清理营业数据处理#
- mode con:cols=50 lines=15
- echo. 初始化...
- net start MSSQLSERVER >nul
- cls
- echo.
- echo.
- set pw=
- set /p pw= -- 数据库密码:
- if %pw% neq "bathome" (
- echo 密码错误
- pause
- goto :eof
- )
- set datestr=%date%
- echo.
- echo. -- 计算机日期:%datestr:~0,10%
- set datestr=%DateStr:~0,4%%datestr:~5,2%
- color 0b
- echo.
- echo. -- 格式化日期:%datestr%
- ping 127.0.0.1 >nul
- color 0c
- echo.
- echo. ┏━━━━━━━━━━━━━━━━━━━━━━┓
- echo. ┃ 警告:请确认日期是否正确,是否数据库已备份!┃
- echo. ┗━━━━━━━━━━━━━━━━━━━━━━┛
- echo.
- echo. 任意键开始清理!
- pause >nul
- color 0a
- cls
- echo.
- echo.
- echo.
- echo. 正在执行……
- echo. use local > temp.sql
- echo. go >> temp.sql
- echo. truncate table reportCashStat >> temp.sql
- echo. truncate table reportDuty >> temp.sql
- echo. truncate table reportMonth >> temp.sql
- echo. truncate table hst_duty >> temp.sql
- echo. truncate table hst_duty_cash >> temp.sql
- echo. truncate table hst_duty_detail >> temp.sql
- echo. truncate table hst_nonpayment >> temp.sql
- echo. truncate table hst_cashserial%datestr% >> temp.sql
- echo. truncate table hst_dealrecord%datestr% >> temp.sql
- echo. truncate table hst_discountconsume%datestr% >> temp.sql
- echo. truncate table hst_presentation%datestr% >> temp.sql
- echo. truncate table hst_usehistory%datestr% >> temp.sql
- echo. truncate table hst_usepcbiz%datestr% >> temp.sql
- echo. go >> temp.sql
- osql -U netcafe -P %pw% -i temp.sql
- ping 127.0.0.1 >nul
- del temp.sql
- echo.
- echo. 操作完成!请重新启动服务和控制台!
- ping 127.0.0.1 >nul
- echo.
- echo. 稍候窗口将自动关闭!
- ping 127.0.0.1 >nul
复制代码
作者: zypA13510 时间: 2013-9-25 17:27
回复 2# DAIC
额,这个没用啊,别人打开你批处理一看就知道密码了,就算你打成exe还是可以用工具很简单的查看密码……
我觉得你要考虑安全性的话就干脆不要批处理,随便哪种高级语言写个小程序都比这个好
作者: DAIC 时间: 2013-9-26 15:01
回复 3# zypA13510
是否有用需要楼主说了算
作者: zypA13510 时间: 2013-9-28 00:00
回复 4# DAIC
因为你这种密码用专业术语就叫Hard-code Password,微软在相关编程安全性文档中明确指出过这种密码的安全性缺陷,连高级语言写出的exe程序都应该避免使用这种密码,更何况批处理是连编译都不用的明码程序
作者: DAIC 时间: 2013-9-28 10:11
回复 5# zypA13510
也许楼主就是需要这种呢
作者: kindiaing 时间: 2013-10-8 11:19
回复 6# DAIC
是这样的,这个密码是访问数据库的密码。数据库密码是别人设置的。他们知道,这个批处理是登录进去然后进行操作的。谢谢诶daic,我试试哈。
作者: kindiaing 时间: 2013-10-8 11:28
用数据库里进去删除个表,里面的表是坏的,重新启动软件就可以使用了。
作者: DAIC 时间: 2013-10-8 14:25
回复 7# kindiaing
有什么问题直接在论坛发帖就行了。我没有QQ
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |