DOS BAT命令:如何接受分号作为输入

时间:2011-08-05 09:40:18

标签: oracle command-line batch-file cmd

我在编写BAT文件时相当新。因此,我需要创建一个BAT文件,在该文件中,它将从命令提示符接受用户名和密码,并使用这些值来处理ORACLE中的某些SQL命令。这很简单,我这样做会提示用户输入ORACLE用户名,密码和数据库。它们分别是value1,value2和value3。

这里的问题是,ORACLE密码包含分号。并且当在CMD提示符中输入分号时,某种程度上该值是不正确的。例如。密码是“abc; cde”。不知何故,value2只读为“abc”。有人可以帮忙吗?我曾尝试在提示期间输入双引号,但它仍然是相同的。此外,我宁愿让用户在提示过程中输入双引号,因为这可能会与实际密码混淆。

请协助。

2 个答案:

答案 0 :(得分:2)

你的问题有点细节。

您确定您的密码读取实际上是“;”部分?

我无法从你的问题中看出“;”不读入“value2”或者它实际上是“value2”但未正确传递给Oracle客户端。 没有更多细节,就无法给出正确答案。

记录:

set /P VALUE2=
echo %VALUE2%

会读取包含“;”的文字并将其回显给屏幕。

答案 1 :(得分:0)

您只能使用%*,;%1%2来访问%<n>

但即便如此,尝试从命令行读取密码也是一个坏主意,该密码可能包含特殊字符,因为无法访问所有允许/可能的密码。

密送:a&b|c^w%cd% 绝对不可以这种方式访问​​。

我还希望Tonny的提示在批处理中使用set /p来输入密码。