gpt4 book ai didi

windows - 使用 bat 文件将可编辑文本放入命令提示符中

转载 作者:可可西里 更新时间:2023-11-01 10:24:14 25 4
gpt4 key购买 nike

我有一个 bat 脚本,要求用户在下一行输入

SET /P returnString=Enter string: %=%

现在我希望默认输入在命令行上可见,例如:

Enter string: defaultstring

澄清一下:如果没有给出输入,我不想要默认值,我希望默认值在命令行上可见且可编辑,因此在上述情况下,defaultstring 可以是替换为不同的文本。

在批处理文件中使用 SET 是否可行?如果没有,我怎么能做到这一点?

最佳答案

这是一个使用默认值进行提示的 Batch + JScript 混合脚本。

@if (@CodeSection == @Batch) @then

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: The first line in the script is...
:: in Batch, a valid IF command that does nothing.
:: in JScript, a conditional compilation IF statement that is false.
:: So the following section is omitted until the next "[at]end".
:: Note: the "[at]then" is required for Batch to prevent a syntax error.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Batch Section

@echo off
setlocal
set "Input="
set "Default=Hello World"
title MyUniqueTitle
CScript //E:JScript //Nologo "%~f0" "MyUniqueTitle" "%Default%"
set /p "Input=> Prompt: "
if defined Input set "Input=%Input:"=%"
echo(%Input%
endlocal
exit /b 0

:: End of Batch
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@end
////////////////////////////////////////////////////////////////////////////////
// JScript Section

try
{
var WshShell = WScript.CreateObject('WScript.Shell');
var Title = WScript.Arguments.Item(0);
var Message = WScript.Arguments.Item(1);
WshShell.AppActivate(Title);
WshShell.SendKeys(Message);
WScript.Quit(0);
}
catch(e)
{
WScript.Echo(e);
WScript.Quit(1);
}
WScript.Quit(2);

关于windows - 使用 bat 文件将可编辑文本放入命令提示符中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com