我有这个代码来制作和运行一个访问点:
runas /User:Administrator cmd
netsh wlan set hostednetwork mode=allow ssid=private_wifi key=123456789
netsh wlan start hostednetwork
pause
我的问题是:我可以自动输入密码,只需双击文件而无需其他操作吗?
您可以使用备用数据流来提供密码。
1)创建并保存批处理文件 2)使用ECHO命令将密码“放置”到附加到批处理文件的ADS中 3)使用重定向从ADS(替代数据流)文件中读取密码
密码是安全的,因为它不能使用传统方法“看到”。
以下是它的工作原理:
1)在代码中包含以下行:
set /p password=<%~nx0:password
并保存您的批处理文件。
2)在DOS命令行中,输入以下命令:
echo YourPassWord>YourBatchFile.bat:password
注1:请仔细查看该行。注意':'(冒号)符号后面的ADS。注2:注意>
(大于)符号的任何一侧都没有空格。
例如,假设您创建了以下名为GETPASS.BAT的简单批处理文件,并且您的密码是LETMEIN
@echo off
set /p password=<%~nx0:password
echo %password%
现在保存批处理文件并在DOS提示符下输入以下命令:
echo LETMEIN>GETPASS.BAT:password
注意:>
(大于)符号的任何一侧都没有空格。
现在运行批处理文件 - 它应该只显示:
LETMEIN
关于安全性问题,以下传统方法均不会泄露您的密码:
COPY getpass.bat:password file.txt
TYPE getpass.bat:password
MORE getpass.bat:password
FIND /V "" getpass.bat:password
查看ADS文件内容的方法有限。我把它留给你作为一个挑战,看看你能不能做到。因此,从新手的角度来看,这使得它非常安全。
此外,就新手而言(以及一些专业人士),以下几行可能会产生误导,特别是在缺乏有关ADS的知识的情况下。
set /p password=<%~nx0:password
最后,正如您所看到的,没有包含您密码的其他外部文件。 ADS附加到批处理文件。这意味着,如果您移动或重命名批处理文件,ADS将随之移动。此外,命令的%~nx0
部分确保在重命名批处理文件时可以找到ADS。