如何在批处理文件中为我自己的命令设置辅助工具?

时间:2014-02-01 18:17:53

标签: windows batch-file

我想知道如何在我自己的批处理文件命令中设置帮助实用程序。我使用的是Windows 7操作系统。我们只需输入

就可以在windows命令promt中检查命令的语法
help "command name"

help attrib

所以我创建了批处理文件,它将路径/文件夹名称作为参数并将其设置为隐藏和系统文件。代码有三行

@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

当用户输入

help hide

hide是我的命令名称(批处理文件名)

我已更改代码以在用户传递空白参数

时显示帮助内容
@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

但对我来说,仅当用户输入

时我想显示我的帮助内容是不够的
help hide

告诉我如何设定它?

3 个答案:

答案 0 :(得分:2)

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

除非你想为它写一个完整的替代品,否则你不能改变它或它所知道的程序。

答案 1 :(得分:0)

是的,有可能。将其保存为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" %*
)

答案 2 :(得分:0)

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

只需在命令之后而不是在命令之前使用帮助,解决方案就像^

一样简单