【问题标题】:How to get two or more commands together into a batch file如何将两个或多个命令一起放入批处理文件
【发布时间】:2013-07-08 10:26:56
【问题描述】:

我想在到达特定位置后在命令提示符中输入命令。我怎样才能做到这一点?

例如,

set PathName="X:\Web Content Mgmt\Completed Filtering\2013_Folder"
set comd="dir /b /s *.zip"
start "cmd" cd /d %PathName%

我正在打开命令提示符并使用PathName 为其提供路径。现在,在到达该特定路径后,我想将 comd 变量插入命令提示符以获得所需的结果。

这些是我试图在批处理文件中执行的特定命令:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\anoopn>x:
X:\>cd
X:\Web Content Mgmt\Completed Filtering\2013_Folder
X:\Web Content Mgmt\Completed Filtering\2013_Folder> dir /b /s *.zip > C:\Users\anoopn\Desktop\abc.csv

【问题讨论】:

    标签: batch-file cmd vbscript


    【解决方案1】:

    获取用户输入:

    set /p pathName=Enter The Value:%=%
    @echo %pathName%
    

    附言这也是有效的:

    set /p pathName=Enter The Value:

    【讨论】:

    • 我想在用户输入中附加我作为输入到命令提示符的路径并执行该命令,然后获取适当的结果并将该结果存储在 .CSV 文件中。
    • 这就是我所做的。再看一遍。你可以用 %pathName% var 做任何事情
    • 我必须输入两个路径,第一个我必须到达 X 驱动器和确切位置,然后我必须运行另一个脚本,这意味着我必须执行两个操作我通过使用 set 实现的第一个操作PathName="X:\Web Content Mgmt\Completed Filtering\2013_Folder" start "cmd" cd /d %x% 我还需要执行另一个操作,然后继续工作,所以请给我一个完美的选择
    • @Anoop 你很不清楚。请简化您的问题。您有 2 个脚本,并且您希望它们都知道 %pathName% ?
    • 我真正想要实现的是为脚本构建一个 .bat 文件
    【解决方案2】:

    您可以使用以下命令。 SET 会将来自用户控制台的输入设置为变量 comment,然后您可以通过 %comment%

    使用该变量
    SET /P comment=Comment: 
    echo %comment%
    pause
    

    【讨论】:

      【解决方案3】:

      试试这个:已编辑

      @echo off
      set "comd=dir /b /s *.zip"
      set "pathName="
      set /p "pathName=Enter The Value: "
      cd /d "%pathName%"
      %comd%
      pause
      

      【讨论】:

      • 它仍然不适合我。希望能得到您的完美答复。
      • 我有一个错误的报价 - 现在试试吧。
      • 我的回复回答了你的问题,对吧?如果您还有其他问题,请打开一个新问题。我认为这就是堆栈溢出的工作原理。
      • 只在第二次设置 X 保存在环境变量中时才起作用
      • 为什么从第二次开始就可以了? X 是什么?如果你将它包装在一个循环中,那么它需要延迟扩展和语法更改,因为循环就是这样工作的。
      【解决方案4】:
      set "PathName=X:\Web Content Mgmt\Completed Filtering\2013_Folder"
      set "comd=dir /b /s *.zip"
      cd /d "%PathName%"
      %comd%
      

      【讨论】:

        【解决方案5】:

        如果我理解正确(不确定),start 参数 /D 应该可以帮助您:

        start "cmd" /D %PathName% %comd%
        

        /D 设置起始目录 (见开始/?)

        【讨论】:

          【解决方案6】:

          如果您要从输出创建其他批处理文件,请在批处理文件中添加这样的一行

          echo %pathname%\foo.exe >part2.txt
          

          那么您就可以完成您定义的part1.txtpart3.txt 并拥有您的批次

          copy part1.txt + part2.txt +part3.txt thebatyouwanted.bat
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-05-31
            • 2020-02-01
            • 1970-01-01
            • 2011-12-15
            • 1970-01-01
            • 2017-07-21
            • 1970-01-01
            相关资源
            最近更新 更多