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

[其他] [已解决]批处理如何从txt文本获取一行密码/字符串

[复制链接]
发表于 2015-5-6 21:43:40 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-22 19:50 编辑

怎么才能让密码调用一个 a.txt 文本里的内容为密码:
比如 a.txt内容为 111111
窗口输入的密码直接与 a.txt 配对、而不是现在的直接设置密码
原因是方便以后密码修改、直接修改 a.txt 就可以完成
  1. set  /p password=   请输入密码:<nul
  2. for /f "tokens=*" %%i in ('in.com') do set password=%%i
  3. del in.com
  4. echo\
  5. if /i "%password%"=="111111" goto main
  6. echo\
  7. echo    对不起你输入的错误密码:   "%password%"
  8. echo\
  9. echo    软件在3秒钟后自动退出.
  10. ping -n 3 127.0.0.1>nul
  11. exit
复制代码

评分

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

查看全部评分

发表于 2015-5-6 22:03:57 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-7 00:16 编辑
  1. @echo off
  2. set /p password1=<"a.txt"
  3. :input
  4. cls
  5. set /p password2=请输入密码:
  6. ::if not defined password2 goto input
  7. if "%password2%" neq "%password1%" echo;对不起,你输入的密码[%password2%]错误!&ping -n 3 0 >nul&goto input
  8. echo;密码正确
  9. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
fcxk + 1 技术
Batcher + 1 乐于助人

查看全部评分

发表于 2015-5-6 22:12:42 | 显示全部楼层
修改txt和修改bat不是都要修改吗
 楼主| 发表于 2015-5-6 23:36:49 | 显示全部楼层
回复 2# pcl_test


    不行,直接回车就密码正确了
发表于 2015-5-6 23:41:49 | 显示全部楼层
回复 4# fcxk
你的a.txt为空吧,测试没有问题
发表于 2015-5-7 00:40:15 | 显示全部楼层
回复 2# pcl_test


    不怕万能密码 " if "" neq " 吗?
 楼主| 发表于 2015-5-7 10:07:48 | 显示全部楼层
回复 2# pcl_test


    早上在XP下试是可以用的,win7 64下用不了。在XP可以用已经很满意了,谢谢你的解答!
   技术加分24小时只能加一次,明天再给你加,呵,不会生气吧
发表于 2015-5-7 10:18:37 | 显示全部楼层
回复 7# fcxk


我在Win7 x64测试2楼代码没有问题
1、你是照抄2楼代码?还是自己又改过?
2、用记事本打开a.txt,文件,另存为,看看是不是ANSI编码格式
发表于 2015-5-7 10:56:40 | 显示全部楼层
回复 6# CrLf
嗯?没明白,求指教
 楼主| 发表于 2015-5-7 11:10:48 | 显示全部楼层
回复 9# pcl_test


    假如密码输入时用星号显示要怎么改
发表于 2015-5-7 13:59:10 | 显示全部楼层
回复 10# fcxk
改了后,限制也会增多
批处理输入密码但不显示(隐藏输入密码)
http://bbs.bathome.net/thread-4226-1-1.html

批处理输入密码但显示星号的代码之批处理应用版
http://bbs.bathome.net/thread-2130-1-1.html
发表于 2015-5-7 15:21:35 | 显示全部楼层
回复 9# pcl_test


    举个栗子:
  1. set "password2="==哈哈 if ""
  2. if "%password2%" neq "%password1%" echo;对不起,你输入的密码[%password2%]错误!&ping -n 3 0 >nul&goto input
复制代码
发表于 2015-5-7 21:38:54 | 显示全部楼层
回复 12# CrLf
soga,那么除了屏蔽或限定字符,还有什么方法避免呢
发表于 2015-5-7 22:47:44 | 显示全部楼层
回复 13# pcl_test


简单的办法就是这样:
方法1
  1. if "%password2:"=""%" neq "%password1:"=""%" xxxxxx
复制代码
方法2
  1. if !password2! neq !password1! xxxxxx
复制代码
 楼主| 发表于 2015-5-8 09:34:07 | 显示全部楼层
参考了好几样方法,也代替不了星星啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 11:36 , Processed in 0.036558 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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