我在编写BAT文件时相当新。因此,我需要创建一个BAT文件,在该文件中,它将从命令提示符接受用户名和密码,并使用这些值来处理ORACLE中的某些SQL命令。这很简单,我这样做会提示用户输入ORACLE用户名,密码和数据库。它们分别是value1,value2和value3。
这里的问题是,ORACLE密码包含分号。并且当在CMD提示符中输入分号时,某种程度上该值是不正确的。例如。密码是“abc; cde”。不知何故,value2只读为“abc”。有人可以帮忙吗?我曾尝试在提示期间输入双引号,但它仍然是相同的。此外,我宁愿让用户在提示过程中输入双引号,因为这可能会与实际密码混淆。
请协助。
答案 0 :(得分:2)
你的问题有点细节。
您确定您的密码读取实际上是“;”部分?
我无法从你的问题中看出“;”不读入“value2”或者它实际上是“value2”但未正确传递给Oracle客户端。 没有更多细节,就无法给出正确答案。
记录:
set /P VALUE2=
echo %VALUE2%
会读取包含“;”的文字并将其回显给屏幕。
答案 1 :(得分:0)
您只能使用%*,;
,%1
或%2
来访问%<n>
。
但即便如此,尝试从命令行读取密码也是一个坏主意,该密码可能包含特殊字符,因为无法访问所有允许/可能的密码。
密送:a&b|c^w%cd%
绝对不可以这种方式访问。
我还希望Tonny的提示在批处理中使用set /p
来输入密码。