cmd 批处理可用 set /p 读取一行文字,powershell 可用 read-host 显示提示并保存输入。交互输入适合人工运行的小工具,不适合无人值守任务;密码、令牌等敏感值不能直接回显或写入普通日志,还要在使用前校验空值和允许范围。
在批处理里用 set /p 读取输入
可以写成 set /p "target=请输入目标文件夹:",随后用 if not defined target exit /b 1 拦截空输入。图中的真实 CMD 示例用 set /p 显示提示并接收用户文本。引用变量时使用 "%target%",避免输入中的空格被再次拆分。

在 PowerShell 中用 Read-Host 提示参数
运行 $name = Read-Host '请输入项目名称',再用 if ([string]::IsNullOrWhiteSpace($name)) { throw '项目名称不能为空' } 校验。图中的 PowerShell 示例通过 Read-Host 获取值,并在未输入时使用默认值。需要数字时应使用 [int]::TryParse(),不要直接相信用户输入。

敏感内容使用安全输入模式
输入密码时使用 $secret = Read-Host '请输入密码' -AsSecureString,只想遮住屏幕显示但仍取得普通字符串时可在 PowerShell 7 使用 -MaskInput。图中 Read-Host 的安全输入会以星号遮挡字符。SecureString 仍不应被打印、拼进命令行或保存到普通文本;取消操作时清除变量并直接退出。












