windows - 更新批处理文件中的命令行参数

标签 windows batch-file cmd

是否可以在批处理文件中更新或替换命令行参数(如 %1)?

示例代码:

rem test.cmd
@echo off
echo Before %1
IF "%1" == "123" (
    set %%1 = "12345678"
)
echo After %1

期望的结果:

C:/>Test 123
Before 123
After 12345678

实际结果:

C:/>Test 123
Before 123
After 123

最佳答案

没有。你正在尝试的是不可能的。

可以模拟将原始批处理参数传递给子例程,或者使用修改后的参数递归调用相同的 cmd,这将再次获得 %1、%2、...调用中提供的参数。但这不是你问的。

rem test.cmd
@echo off
echo Before %1

if "%~1"=="123" (
    call :test %1234
) else (
    call :test %1
)

goto :EOF

:test

echo After %1

关于windows - 更新批处理文件中的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19455611/

相关文章:

batch-file - 在一行中计算一个确切的字符 - cmd

batch-file - 批处理脚本在失败时不提高 ERRORLEVEL

batch-file - 是否可以在 Windows 上以另一个用户身份 headless 地(在 bat 脚本中)运行命令?

.net - 使用 .NET 在 Windows 上获取实际文件名(使用适当的大小写)

C++ getkey() 和 kbhit() 作用于错误的窗口

windows - 如何在 PowerShell 中使用 cmd 类型的管道 (/piping)?

windows-7 - 列出具有指定名称的所有子目录

命令提示符快捷方式

windows - 将批处理文件转换为 exe 后,Windows Defender 为什么将文件显示为木马?

python - Zope 3 + windows + MySQL - 如何在 windows 上安装 ZMySQLDA?