Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?

指南:

每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包

澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。

(请参见:Windows批处理文件:.bat vs .cmd?)


当前回答

我使用它们作为常用目录的快捷方式。 一个名为“sandbox.bat”的示例文件,它位于我的PATH目录中

EXPLORER "C:\Documents and Settings\myusername\Desktop\sandbox"

调用脚本只需WIN+R—>沙盒

其他回答

狡猾的等待N秒的技巧(不是cmd.exe的一部分,但不是额外的软件,因为它是Windows自带的),参见ping行。您需要N+1个ping,因为第一个ping没有延迟。

    echo %time%
    call :waitfor 5
    echo %time%
    goto :eof
:waitfor
    setlocal
    set /a "t = %1 + 1"
    >nul ping 127.0.0.1 -n %t%
    endlocal
    goto :eof

cmd.exe中的快速编辑模式是我的最爱。这有点偏离主题,但是当与命令shell交互时,它可以是一个救星。不,我并不是在夸张——在你死之前,你只会看到一定次数的* * * * * v;你看得越多,死得越快。

打开regedit(小心,不是我的 故障、蓝屏等) 进入HKCU/控制台 “quickkedit”设置为“1”

(你也可以从UI设置,这可能是更好的方法。有关说明,请参阅注释。还有一个很好的一行脚本也可以做到这一点。)

现在,要复制,只需左键单击并拖动选择,然后右键单击复制。要粘贴,只需右击。

不再有^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v !!

该死,我想我刚杀了人。对不起!

cmd.exe本身的/c参数,告诉它运行然后执行这些命令。

我曾经发现自己经常这样做:

win+r, cmd RETURN, ping google.com RETURN

但现在我只知道

win+r, cmd /c ping google.com返回

快得多。如果您正在使用pstools,并且希望使用psexec在远程机器上执行一些命令行功能,那么这也很有帮助。

EDIT: /k工作方式相同,但保持提示打开。这可能经常会派上用场。

而不是用REM或::行乱写脚本,我在每个脚本的顶部执行以下操作:

@echo OFF
goto :START

Description of the script.

Usage:
   myscript -parm1|parm2 > result.txt

:START

注意如何使用管道和重定向字符而不转义它们。

这里有一个技巧,我用它来连续运行My Nant Build脚本,而不必一遍又一遍地单击批处理文件。

:CODELINE
NANT.EXE -buildfile:alltargets.build -l:build.log build.product
@pause
GOTO :CODELINE

在您的解决方案完成构建之后,它将被暂停。然后,如果您按下任何键,它将再次重新运行构建脚本。我必须说非常方便。