找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29684|回复: 6

[文本处理] [已解决]bat怎样判断用户输入的密码是否正确?

[复制链接]
发表于 2015-6-6 07:56:57 | 显示全部楼层 |阅读模式
@echo off
set /p pw=请输入密码:
if "%pw%"=="jyzr" (

set /p d="请输入删除日期 (2015-05-01) "
set d=%d:/=%
set d=%d:-=%
cd /d d:\统计\
for /f "skip=1 tokens=1-6*" %%a in ('dir /a-d ^|find ":"') do (
        set t=%%a
               set t=!t:-=!
                set t=!t:/=!
if !t! leq !d! del /q "%%d" !t!
)
) ELSE if "%pw%" NEQ "jyzr" (echo 对不起,密码错误!
)
if "%pw%" NEQ "jyzr" (echo 删除文件失败!) ELSE (echo 删除文件成功!
)  

pause>nul
谢谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2015-6-6 11:19:11 | 显示全部楼层
回复 1# 7016427
@echo off
set /p pw=请输入密码:
if "%pw%"=="jyzr" (
set /p d="请输入删除日期 (2015-05-01) "
set d=%d:/=%
set d=%d:-=%
cd /d d:\统计\
for /f "skip=1 tokens=1-6*" %%a in ('dir /a-d ^|find ":"') do (
        set t=%%a
               set t=!t:-=!
                set t=!t:/=!
if !t! leq !d! del /q "%%d" !t!
)
echo 删除成功! ) ELSE if "%pw%" NEQ "jyzr" (echo 密码错误!删除失败!
)
pause>nul
以上改后,执行仍然失败!
 楼主| 发表于 2015-6-6 11:43:15 | 显示全部楼层

【[奇怪,求助高手]】bat奇怪难题,请高手瞧瞧、看看代码何处错误

[奇怪,求助高手]回复 1# 7016427

@echo off&setlocal EnableDelayedExpansion
set /p d="请输入删除日期 (2015-05-01) "
set d=%d:/=%
set d=%d:-=%
cd /d d:\统计\
for /f "skip=1 tokens=1-6*" %%a in ('dir /a-d ^|find ":"') do (
        set t=%%a
               set t=!t:-=!
                set t=!t:/=!
if !t! leq !d! del /q "%%d" !t!
)
echo 成功删除%d%之前的文件!
pause>nul
补充,按以上代码执行成功,能够删除满足的文件,但是,添加密码语句执行失败!
发表于 2015-6-6 12:36:58 | 显示全部楼层
本帖最后由 bailong360 于 2015-6-6 12:39 编辑
  1. @echo off
  2. set /p pw=请输入密码:
  3. if not "%pw%"=="jyzr" (
  4.     echo 对不起,密码错误
  5.     echo 删除文件失败
  6.     pause>nul&exit
  7. )
  8. set /p d=请输入删除日期(2015-05-01)
  9. set d=%d:/=-%
  10. for /f "delims=" %%i in ('dir /a-d /b') do (
  11.     for /f "tokens=1,2,3 delims=/- " %%j in ("%%~ti") do (
  12.         if "%%j-%%k-%%l" leq "%d%" del "%%i"
  13.     )
  14. )
  15. echo 删除文件成功
  16. pause>nul
复制代码
PS  可以点击帖子左下角的编辑来修改帖子,不必要发这么多次
 楼主| 发表于 2015-6-6 13:51:29 | 显示全部楼层

[未得到解决]bat奇怪难题,请高手瞧瞧、看看代码何处错误

[未得到解决]回复 4# bailong360
测试存在问题:要误删文件,如,我要删除2015年5月10日之前的文件,包括5月10日那天的文件都要删除。我输入日期:2015-05-10测试的结果是:把5月10日前和5月10日之后的文件都删除了,而5月10日那天的文件没有删除。
发表于 2015-6-6 14:27:58 | 显示全部楼层
回复 5# 7016427


@echo off
set /p pw=请输入密码:

@echo off&setlocal EnableDelayedExpansion
set /p d="请输入删除日期 (2015-05-01) "

那么明显掉了setlocal EnableDelayedExpansion ,加在开头。
发表于 2015-6-6 14:58:06 | 显示全部楼层
回复 5# 7016427
我这里测试没有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 04:01 , Processed in 0.024291 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表