Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
当前回答
无论如何,这是一个很好的Windows CMD或批处理文件的在线参考。我学到了一些我不知道的东西。
其他回答
这里将介绍如何通过扫描给定目录来构建CLASSPATH。
setlocal ENABLEDELAYEDEXPANSION
if defined CLASSPATH (set CLASSPATH=%CLASSPATH%;.) else (set CLASSPATH=.)
FOR /R .\lib %%G IN (*.jar) DO set CLASSPATH=!CLASSPATH!;%%G
Echo The Classpath definition is %CLASSPATH%
适用于XP(或更好)。对于W2K,您需要使用两个BAT文件来实现相同的结果(请参阅在类路径定义中包含所有jar)。
在1.6版本中不需要它,因为你可以直接在CLASSPATH中指定通配符(例如-cp ".\lib*")。
我想说DEBUG.EXE是批处理文件中一个非常有用但却未被充分利用的特性。
DEBUG命令允许你…
汇编和反汇编16位代码 读/写内存(现代受保护的内存使这个功能变得不那么有用。) 从硬盘读取数据扇区,原始 十六进制编辑
简而言之,这个工具非常强大。现在可能已经不怎么使用了,但是从批处理脚本调用和控制这个功能的能力为批处理脚本增加了惊人的能力。
注意:据我所知,微软已经从64位版本的Windows Xp和Vista中删除了这个命令,并打算从Windows 7中完全删除它。
我真的很喜欢这个Windows XP命令参考,以及在顶部的语法链接;它涵盖了许多已经在其他答案中找到的技巧和技巧。
狡猾的等待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
没有编辑器,需要创建一个批处理文件?
copy con test.bat
只需输入命令,按enter键输入新行。 按Ctrl-Z和Enter关闭文件。