`

CMD命令也要用好

阅读更多
以前一些程序需要执行一些Dos命令,一般都是写成一个Bat文件,然后通过Shel来调用,实际上一些简单得用法完全可以这样用:

VBA.Shell "cmd /c cmd /? > c:\cmdhelp.txt"
VBA.Shell 
"cmd /c Type c:\cmdhelp.txt > c:\copy1.txt"
VBA.Shell 
"cmd /c Copy c:\cmdhelp.txt  c:\copy2.txt"


帮助如下:

启动 Windows 命令解释程序一个新的实例

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      执行字符串指定的命令然后中止
/K      执行字符串指定的命令但保留
/S      在 /C 或 /K 后修改字符串处理(见下)
/Q      关闭回显
/D      从注册表中停用执行 AutoRun 命令(见下)
/A      使向内部管道或文件命令的输出成为 ANSI
/U      使向内部管道或文件命令的输出成为 Unicode
/T:fg   设置前景/背景颜色(详细信息,请见 COLOR /?)
/E:ON   启用命令扩展(见下)
/E:OFF  停用命令扩展(见下)
/F:ON   启用文件和目录名称完成字符(见下)
/F:OFF  停用文件和目录名称完成字符(见下)
/V:ON   将 ! 作为定界符启动延缓环境变量扩展。如: /V:ON 会
        允许 !var! 在执行时允许 !var! 扩展变量 var。var 语法
        在输入时扩展变量,这与在一个 FOR 循环内不同。
/V:OFF  停用延迟环境扩展。

请注意,如果字符串有引号,可以接受用命令分隔符 '&&' 隔开
的多个命令。并且,由于兼容原因,/X 与 /E:ON 相同,/Y 与
/E:OFF 相同,并且 /R 与 /C 相同。忽略任何其他命令行开关。

如果指定了 /C 或 /K,命令行开关后的命令行其余部分将作为命令行处
理;在这种情况下,会使用下列逻辑处理引号字符("):

    1.  如果符合下列所有条件,那么在命令行上的引号字符将被
        保留:

        - 不带 /S 命令行开关
        - 整整两个引号字符
        - 在两个引号字符之间没有特殊字符,特殊字符为下列中的
          一个: <>()@^|
        - 在两个引号字符之间有至少一个空白字符
        - 在两个引号字符之间有至少一个可执行文件的名称。

    2.  否则,老办法是,看第一个字符是否是一个引号字符,如果
        是,舍去开头的字符并删除命令行上的最后一个引号字符,
        保留最后一个引号字符之后的文字。

如果 /D 未在命令行上被指定,当 CMD.EXE 开始时,它会寻找
以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或
两个都存在,这两个变量会先被执行。

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

        和/或

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

命令扩展是按默认值启用的。您也可以使用 /E:OFF,为某一
特定调用而停用扩展。您可以在机器上和/或用户登录会话上
启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用
REGEDT.EXE 的注册表中的一个或两个 REG_DWORD 值:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

        和/或

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行
开关比注册表设置有优先权。

命令扩展包括对下列命令所做的更改和/或添加:

    DEL 或 ERASE
    COLOR
    CD 或 CHDIR
    MD 或 MKDIR
    PROMPT
    PUSHD
    POPD
    SET
    SETLOCAL
    ENDLOCAL
    IF
    FOR
    CALL
    SHIFT
    GOTO
    START (同时包括对外部命令调用所做的更改)
    ASSOC
    FTYPE

有关特定详细信息,请键入 commandname /? 查看。

延迟环境变量扩展不按默认值启用。您可以用/V:ON 或 /V:OFF
开关,为 CMD.EXE 的某个调用而启用或停用延迟环境变量扩展。
您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有
调用的延迟扩展,这要通过设置使用 REGEDT.EXE 的注册表中的
一个或两个 REG_DWORD 值:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

        和/或

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行开关
比注册表设置有优先权。

如果延迟环境变量扩展被启用,惊叹号字符可在执行时间,被用来
代替一个环境变量的数值。

您可以用 /F:ON 或 /F:OFF 开关为 CMD.EXE 的某个
调用而启用或禁用文件名完成。您可以在计算上和/或
用户登录会话上启用或禁用 CMD.EXE 所有调用的完成,
这可以通过使用 REGEDIT.EXE 设置注册表中的下列
 REG_DWORD 的全部或其中之一:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

        和/或

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

由一个控制字符的十六进制值作为一个特定参数(例如,0x4
是Ctrl-D,0x6 是 Ctrl-F)。用户特定设置优先于机器设置。
命令行开关优先于注册表设置。

如果完成是用 /F:ON 开关启用的,两个要使用的控制符是:
目录名完成用 Ctrl-D,文件名完成用 Ctrl-F。要停用
注册表中的某个字符,请用空格(0x20)的数值,因为此字符
不是控制字符。

如果键入两个控制字符中的一个,完成会被调用。完成功能将
路径字符串带到光标的左边,如果没有通配符,将通配符附加
到左边,并建立相符的路径列表。然后,显示第一个相符的路
径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,
重复按同一个控制字符会循环显示相符路径的列表。将 Shift
键跟控制字符同时按下,会倒着显示列表。如果对该行进行了
任何编辑,并再次按下控制字符,保存的相符路径的列表会被
丢弃,新的会被生成。如果在文件和目录名完成之间切换,会
发生同样现象。两个控制字符之间的唯一区别是文件完成字符
符合文件和目录名,而目录完成字符只符合目录名。如果文件
完成被用于内置式目录命令(CD、MD 或 RD),就会使用目录
完成。
用引号将相符路径括起来,完成代码可以正确处理含有空格
或其他特殊字符的文件名。同时,如果备份,然后从行内调用
文件完成,完成被调用时位于光标右方的文字会被调用。

需要引号的特殊字符是:
     <space>
     &()[]{}^=;!'+,`~

分享到:
评论

相关推荐

    易语言控制台调用CMD命令

    通过研究这些源码,你可以更好地理解和掌握易语言中控制台调用CMD命令的具体实现方法。 总之,易语言控制台调用CMD命令是一项实用的功能,它可以帮助开发者扩展易语言程序的能力,实现与操作系统更深度的交互。通过...

    c++执行cmd命令

    c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令c++执行cmd命令

    CMDCMD命令CMD命令

    CMD命令是Windows操作系统中的命令行解释器,它允许用户通过命令行界面执行各种系统管理和维护任务。在描述中,我们看到一系列与网络管理和系统管理相关的CMD命令,这些命令主要用于网络连接、用户账户管理、服务...

    C#winform执行cmd命令

    要注意的是,执行CMD命令可能会带来安全风险,因为用户可能输入任意命令。因此,在实际应用中,你需要对输入进行验证或限制,防止执行有害命令。 至于"AutoApk"这个文件,可能是指一个自动化的Android应用打包工具...

    易语言控制台调用CMD命令源码

    通过学习这个易语言控制台调用CMD命令的源码,初学者可以深入理解易语言与系统交互的能力,同时也能掌握基础的CMD命令使用。这将有助于开发者在没有图形界面的情况下执行系统操作,或者在自动化脚本中集成CMD命令,...

    cmd命令及参数用法

    cmd 命令是 Windows 操作系统中的一个基本命令解释程序,提供了大量的命令和参数用法,以下是 cmd 命令及参数的详细用法: ASSOC 命令 ASSOC 命令用于显示或修改文件扩展名关联。其语法为:ASSOC [.ext[=[类型]]]...

    vbs执行CMD命令and导出命令结果

    通过VBS可以非常方便地执行CMD命令,并且能够将这些命令的结果导出到文件中,这对于批量处理任务、系统管理和维护等方面非常有用。 ### VBS执行CMD命令 #### 1. 基本概念 在开始之前,我们先了解几个基本的概念:...

    操作系统安全:CMD命令的实验习题.docx

    实验一:CMD命令的实验习题 实验目的: 了解CMD命令 使用CMD命令操作 实验步骤及内容: 环境要求:无限制,只需是windows系统即可。(答案演示环境为windows2003) 任务一:使用cmd命令查看本机的ip地址。 答:第一...

    右键添加CMD命令

    标题“右键添加CMD命令”指的是在Windows操作系统中,通过修改注册表或安装特定软件,使得用户可以在文件夹上右键点击时,快速调出一个名为“CMD Here”的选项,以此打开命令提示符(CMD)并定位到该文件夹的位置。...

    CMD命令集中训练营

    教程名称:CMD命令集中训练营课程目录:【】cmd.exe专杀【】cmd命令大全【】CMD命令行高级教程【】cmd运行命令入侵大全【exe格式】【】DOS技巧100例【】局域网的入侵方法【】常用windows命令【】用CMD破解IPC口令...

    CMD命令速查手册 CMD命令速查手册

    这篇文档将详细阐述CMD命令的主要功能和用法,以便更好地理解和运用。 一、基本操作 1. 打开CMD:在搜索栏输入“cmd”或“命令提示符”,然后按回车。 2. 切换目录:使用`cd`命令改变当前工作目录,如`cd \Users\...

    易语言简单cmd命令

    本软件,用起来比较方便,简单的CMD命令

    用c#执行cmd命令

    然后,创建一个Process实例,并设置其StartInfo属性来指定要执行的CMD命令。StartInfo对象允许我们配置进程启动的相关参数,如工作目录、命令行参数等。例如,要执行一个简单的"dir"命令,代码如下: ```csharp ...

    VC中调用CMD命令并获取调用结果

    首先,我们要了解如何在VC++中调用CMD命令。这通常通过使用Windows API函数来实现,尤其是`CreateProcess`函数。`CreateProcess`允许我们创建一个新的进程,也就是打开一个CMD窗口并执行指定的命令。以下是一个简单...

    C#执行CMD命令获取返回结果

    // 这里替换为你想要执行的CMD命令 ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c " + command); psi.RedirectStandardOutput = true; // 设置重定向标准输出 psi.UseShellExecute = false; // ...

    经典cmd命令集.doc

    cmd命令cmd命令cmd命令cmd命令

    MFC通过管道实现CMD命令返回串

    本篇将深入探讨如何利用MFC通过管道(Pipe)实现CMD命令的返回串。 管道是Windows操作系统中的一种进程间通信(IPC, Inter-Process Communication)机制,它允许不同进程之间进行数据交换。在MFC中,我们可以使用...

    CMD命令速查手册CMD命令大全

    ### CMD命令速查手册知识点详解 #### 一、CMD命令概览 CMD(Command Processor)是Windows操作系统中用于执行各种命令的工具,它允许用户通过命令行的方式与系统...希望本文档能够帮助大家更好地理解和运用CMD命令。

    CMD命令速查手册_cmd命令大全_cmd命令详解(最新完整版)

    CMD命令速查手册_cmd命令大全_cmd命令详解(最新完整版).xls 雪深 - 2009-03-04 星期三

Global site tag (gtag.js) - Google Analytics