gpt4 book ai didi

batch-file - 在批处理文件中获取原始参数或命令

转载 作者:行者123 更新时间:2023-12-04 08:48:05 24 4
gpt4 key购买 nike

在批处理文件中,有没有办法获取原始参数或命令?例如,给定以下批处理文件:

echo "%1"
然后运行:
my-file.bat ^1.1
我希望它输出 ^1.1 ,但 ^ 是一个特殊字符 - 转义字符 - 所以它被评估并且 %1 包含 1.1
可以通过在输入命令(例如 my-file.bat ^^1.1 )时转义插入符号来解决此问题,但这在我的情况下是不需要的,因为我正在构建一个也有 shell 实现的跨平台工具(提供 ^1.1 工作)。
所以我想知道:
  • 有没有办法获得“^1.1”的原始未评估参数文本?
  • 或者有没有办法获取原始命令字符串或最后执行的命令文本?然后我可以接受这个并做我自己的解析。

  • 谢谢!

    最佳答案

    简短:你不能
    Long:你不能获取任何组合,但是很多。
    插入符号是最有问题的字符,因为它会转义下一个字符并在构建参数之前被删除。
    因此,不可能获得原始的原始输入。
    但是存在一些或多或少的防弹技术。
    大多数情况下的最佳解决方案:SO:How to receive even the strangest command line parameters?
    有一些小缺点 Same but can also fetch CR and LF
    但是,如果您通过外部进程调用批处理文件,则可以使用 cmdcmdline变量,这是最好的解决方案,因为可以很容易地访问参数。
    顺便提一句。稍后在你的颂歌中,你可能会遇到另一个问题。
    当您尝试使用完全相同的参数调用另一个批处理或可执行文件时,您必须先对它们进行转义。
    即使那部分也不容易

    关于batch-file - 在批处理文件中获取原始参数或命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64212970/

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