[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

@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
谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 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
以上改后,执行仍然失败!

TOP

【[奇怪,求助高手]】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
补充,按以上代码执行成功,能够删除满足的文件,但是,添加密码语句执行失败!

TOP

本帖最后由 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  可以点击帖子左下角的编辑来修改帖子,不必要发这么多次

TOP

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

[未得到解决]回复 4# bailong360
测试存在问题:要误删文件,如,我要删除2015年5月10日之前的文件,包括5月10日那天的文件都要删除。我输入日期:2015-05-10测试的结果是:把5月10日前和5月10日之后的文件都删除了,而5月10日那天的文件没有删除。

TOP

回复 5# 7016427


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

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

那么明显掉了setlocal EnableDelayedExpansion ,加在开头。

TOP

回复 5# 7016427
我这里测试没有问题

TOP

返回列表