1

如果你能帮助我,我有一个简短的问题要问大家,我将不胜感激。我今天早上学习了批处理脚本,虽然我相信我已经掌握了很多概念——我已经开始为我的工作制作自己的功能批处理脚本——

我想知道:
是否有我在使用批处理脚本时看到的那些“斜线”命令的列表?

例如:

  • /A= 算术
  • /p= 用户输入
  • /D(我不知道它到底代表什么,但我制作了一个脚本,我使用 cd /DC 可以更快地更改目录:...)

如果有人能帮我找到这个,我将不胜感激。我一直在寻找这些命令分散的资源。

4

3 回答 3

1

查看AllHelp:创建所有批处理命令的 html 文档页面的批处理脚本。您也可以从该链接下载已创建的页面。

该页面包含每个命令的内置文档,全部在一个页面中,可在您选择的浏览器中搜索。

当然,Rob van der Woude 的网站本身就是与批处理相关的所有内容的巨大资源。

于 2013-04-24T18:40:48.360 回答
0

正如其他人已经说过的那样,“斜杠”不是命令,而是命令的选项(开关)。你的问题让我想起了我曾经为我编写的批处理文件设计开关时使用的程序。该程序在 HELP 命令的输出中搜索所有命令,并报告在哪些命令中找到了给定的开关。

@echo off
setlocal EnableDelayedExpansion

rem SeekSwitch.bat - Antonio Perez Ayala

if "%~1" neq "" if "%~1" neq /? goto begin
echo Seek for given switches in DOS commands displayed by HELP
echo/
echo SeekSwitch switch1 switch2 ...
echo/
echo/
echo Creating the COMMAND.TXT help files for all commands, if not exists

pushd "%~P0"
for /F "skip=2 delims=" %%a in ('help ^| more /T8') do (
   set "line=%%a"
   if "!line:~0,2!" neq "  " (
      for /F %%b in ("%%a") do (
         if not exist "%%b.txt" (
            echo Creating "%%b.txt" help file...
            help %%b > "%%b.txt"
         )
      )
   )
)
popd
goto :EOF

:begin

pushd "%~P0"
rem Insert a "\" prefix before each switch
set switches=
for %%a in (%*) do set "switches=!switches!\%%a "
rem Seek the switches in the help files
findstr /I "%switches%" *.txt
popd

例如,要知道在哪些命令中使用了 /A 和 /P 开关:

SeekSwitch /A /P

当这个程序在没有参数的情况下执行时,它会创建用于后验搜索的辅助文件。但是,HELP 命令只是用 /? 执行给定的命令。switch 并且有几个命令不会以这种方式显示帮助(例如 DISKPART),因此您应该在这些情况下取消这些命令,甚至在某些情况下使用 Ctrl-C 取消 SeekSwitch.bat 本身。

于 2013-04-25T02:54:51.303 回答
0

您使用了错误的术语,不存在通用的“斜杠命令”,即“ X ”命令的开关(参数)。例如/A/PSET命令的参数,所以您需要做的就是在控制台上查看命令帮助:

Set /?

/D开关相同, DIRFOR命令使用它:

Dir /?

For /?

当然/D开关对DIR命令做一件事,而在将它用于For命令时做另一件事,就像我说的那样,它不是通用运算符/开关。

您可以查看控制台上的帮助命令以查看大量可用命令,并且每个命令都有其帮助开关/? .

这是一个很棒的站点,您可以在其中了解有关任何命令的使用的所有信息:http: //ss64.com/nt/

在这里您可以了解有关如何使用批处理语法和运算符的所有内容:http: //ss64.com/bash/syntax.html

您也有 Rob Van Der woude 站点,您可以在其中找到许多扩展代码示例:http ://www.robvanderwoude.com/batchfiles.php

于 2013-04-24T20:10:11.850 回答