如何在batch file中为我自己的命令设置帮助实用程序?

我想知道如何在我自己的batch file命令中设置帮助实用程序。 我正在使用Windows 7操作系统。 我们可以通过input来检查windows命令promt中的命令的语法

help "command name" 

喜欢

 help attrib 

所以我已经创build了batch file,它将path/文件夹名称作为参数,并将其设置为隐藏和系统文件。 代码有三行

 @echo off attrib %1 +s +h echo File/Folder hide successfully... 

我把它保存为C:\ windows \ system32中的“hide.bat”,所以我可以从任何目录中使用它。 但是我想知道如何为我的命令设置帮助工具。 我想显示

 attrib [file/folder name] +s +h + to set an attribute 

当用户input时

 help hide 

hide是我的命令名(batch file名)

当用户传递空白参数时,我更改了代码以显示帮助内容

 @echo off IF ["%1"]==[""] goto showhelp goto done :done attrib "%1" +s +h echo File/Folder hide successfully... goto close :showhelp echo attrib [file/folder name] +s +h echo + to set an attribute :close 

但是这对我来说还不够,我想在用户input时显示我的帮助内容

 help hide 

那么告诉我如何设置它?

对的,这是可能的。 将其保存为help.bat ,并将其放在PATH中比\windows\system32文件夹更早的文件夹中。

可能有更早的文件夹 – 键入set path并查看system32之前的文件夹 – 或者您可以自己添加一个文件夹。

 @echo off if /i "%~1"=="hide" ( echo attrib [file/folder name] +s +h echo + to set an attribute ) else ( "%Windir%\system32\help" %* ) 

你不能添加自己的内容来help 。 这是一个可执行文件( help.exe ),它是Windows本身的一部分。 它位于Windows System32目录中。 它只知道内置在命令解释器( cmd.exe )中的某些应用程序或命令。

除非你想写一个完整的替换它,你不能改变它或它知道的程序。

 @echo off if /i "%1"=="" ( echo "Nothing Entered" ) if /i "%1"=="help" ( echo "Help text" ) 

只是在命令后面使用帮助,而不是在它之前,解决方案就像^一样简单