Ping命令本身可以运行,但不能在命令文件中运行

时间:2019-07-22 18:20:41

标签: batch-file for-loop ping

这一行特殊代码是我之前在网上找到的,并且已经使用了很多。它按名称或地址ping给定服务器,并将日期和时间戳记添加到输出中,然后将其发送到文本文件。

如果我将其复制并粘贴到命令行中,它将完美地工作,但是在命令文件(.cmd)中,它将无法工作。

我唯一想做的就是给变量加倍“ %%”符号,这就是我做的。

这是我的代码:

extension UIPageViewController {

    var scrollView: UIScrollView? {
        return view.subviews.first { $0 is UIScrollView } as? UIScrollView
    }

}

1 个答案:

答案 0 :(得分:0)

您必须在批处理文件中禁用延迟变量扩展,因为管道的子外壳正在使用cmd /v指示的延迟扩展。

在批处理中启用延迟扩展会导致延迟变量在子Shell开始执行之前得到解决。

您需要将setlocal EnableDelayedExpansion更改为setlocal DisableDelayedExpansion

当前,批处理文件本身不需要延迟的变量扩展,但是如果需要,则应在执行pipe命令之前禁用延迟的扩展。