大佬教程收集整理的这篇文章主要介绍了batch-file – 在Windows批处理文件中转义用户输入,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
SET /P passworD=password:
此密码可能包含需要转义的字符!然后使用CALL将passworD变量传递给其他批处理文件
CALL Foo.bat %passworD%
即使使用特殊字符,这也绝对安全.
call foo.bat password
Foo.bat —————–
Setlocal EnableDelayedExpansion Echo !password!
在通过CALL将内容发送到第二批文件之前,有必要准备内容.
很难使用像CALL这样的东西foo.bat%preparedVariable%
使用CALL foo.bat!preparedVariable似乎更好!
但即便如此,我仍未能通过CALL阶段加倍注意.
但后来我发现了一种在CALL阶段之后使用百分比扩展的简单方法.
@echo off setlocal DisableDelayedExpansion rem set /p "complex=Complex Input " set "complex=xx! & "!^&"ab^^ " ^^^^cd%%" setlocal EnableDelayedExpansion call :prepareForCallBatch complex PreparedParam echo Send =!PreparedParam!# set complex echo( call ShowParam.bat %%PreparedParam%% exit /b :: Prepare special characters &|<>"^ for a batch call :prepareForCallBatch set "temp=!%~1!" set "temp=!temp:^=^^!" set "temp=!temp:&=^&!" set "temp=!temp:|=^|!" set "temp=!temp:<=^<!" set "temp=!temp:>=^>!" set "temp=!temp:"=^^"!" set "%~2=!temp!" exit /b
要在ShowParam.bat中查看真实参数,我使用类似的东西
ShowParam.bat
@echo off setlocal set prompt= @echo on REM # %* #
以上是大佬教程为你收集整理的batch-file – 在Windows批处理文件中转义用户输入全部内容,希望文章能够帮你解决batch-file – 在Windows批处理文件中转义用户输入所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。