jjzjj

windows - 批处理脚本的语法不正确

coder 2024-06-08 原文

我在这个批处理脚本中有一个语法错误,但我不知道它是从哪里来的。我是批处理的新手,所以我无法弄清楚这一点。我感觉这与 if 语句有关,但不确定。

@ECHO Off

:: Variables
@SET UI_Debug_Path="rootpath"

@SET CoreDev_Bin="destinationPath1"
@SET Website_Bin="destinationPath2"

@SET Business_DLL="Business.dll"
@SET Business_PDB="Business.pdb"
@SET DataAccess_DLL="DataAccess.dll"
@SET DataAccess_PDB="DataAccess.pdb"
@SET UI_DLL="Forms.dll"
@SET UI_PDB="Forms.pdb"

@SET doCopy=n
:: Prerequisite
echo Ensure you have permission/access to files!
SET /P doCopy=Copy Files (y\n) (Default - n)?

IF /I "%doCopy%"=="Y" (
    :: .DLLs
    echo "Copying .DLLs to CoreDev\Bin and Website\Bin"

    COPY %UI_Debug_Path%%Business_DLL% %CoreDev_Bin%

    COPY %UI_Debug_Path%%Business_DLL% %Website_Bin%

    :: COPY %UI_Debug_Path%%DataAccess_DLL% %CoreDev_Bin% :: Don't think we need DataAccess.dll copied in CoreDev\bin

    COPY %UI_Debug_Path%%DataAccess_DLL% %Website_Bin%

    COPY %UI_Debug_Path%%UI_DLL% %CoreDev_Bin%

    ::COPY %UI_Debug_Path%%UI_DLL% %Website_Bin% :: Don't think we need UI.dll in Website\bin


    :: .PDB files
    echo "Copying .PDB to CoreDev\Bin and Website\Bin"
    COPY %UI_Debug_Path%%Business_PDB% %CoreDev_Bin%

    COPY %UI_Debug_Path%%Business_PDB% %Website_Bin%

    ::COPY "%UI_Debug_Path%%DataAccess_PDB% %CoreDev_Bin% :: Don't think we need DataAccess.pdb in CoreDev\bin

    COPY %UI_Debug_Path%%DataAccess_PDB% %Website_Bin%

    COPY %UI_Debug_Path%%UI_PDB% %CoreDev_Bin%

    ::COPY %UI_Debug_Path%%UI_PDB% %Website_Bin% :: Don't think we need UI.pdb in WebSite\bin
)

Pause

我得到的当前错误是:

The syntax of the command is incorrect.

最佳答案

注释掉的 COPY 命令的语法导致了问题。通过将注释从 :: 更改为 rem 如下所示,脚本将运行。

命令解释器似乎混淆了标签 : 和注释 ::

IF /I "%doCopy%"=="Y" (
  :: .DLLs
  echo "Copying .DLLs to CoreDev\Bin and Website\Bin"

  COPY %UI_Debug_Path%%Business_DLL% %CoreDev_Bin%

  COPY %UI_Debug_Path%%Business_DLL% %Website_Bin%

  rem :: COPY %UI_Debug_Path%%DataAccess_DLL% %CoreDev_Bin% :: Don't think we need DataAccess.dll copied in CoreDev\bin
)

关于windows - 批处理脚本的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177337/

有关windows - 批处理脚本的语法不正确的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 树顶语法无限循环 - 2

    我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He

  3. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  4. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  5. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  6. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  7. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  8. ruby - 覆盖相似的方法,更短的语法 - 2

    在Ruby类中,我重写了三个方法,并且在每个方法中,我基本上做同样的事情:classExampleClassdefconfirmation_required?is_allowed&&superenddefpostpone_email_change?is_allowed&&superenddefreconfirmation_required?is_allowed&&superendend有更简洁的语法吗?如何缩短代码? 最佳答案 如何使用别名?classExampleClassdefconfirmation_required?is_a

  9. ruby-on-rails - 正确的 Rails 2.1 做事方式 - 2

    question的一些答案关于redirect_to让我想到了其他一些问题。基本上,我正在使用Rails2.1编写博客应用程序。我一直在尝试自己完成大部分工作(因为我对Rails有所了解),但在需要时会引用Internet上的教程和引用资料。我设法让一个简单的博客正常运行,然后我尝试添加评论。靠我自己,我设法让它进入了可以从script/console添加评论的阶段,但我无法让表单正常工作。我遵循的其中一个教程建议在帖子Controller中创建一个“评论”操作,以添加评论。我的问题是:这是“标准”方式吗?我的另一个问题的答案之一似乎暗示应该有一个CommentsController参

  10. ruby - 我可以将我的 README.textile 以正确的格式放入我的 RDoc 中吗? - 2

    我喜欢使用Textile或Markdown为我的项目编写自述文件,但是当我生成RDoc时,自述文件被解释为RDoc并且看起来非常糟糕。有没有办法让RDoc通过RedCloth或BlueCloth而不是它自己的格式化程序运行文件?它可以配置为自动检测文件后缀的格式吗?(例如README.textile通过RedCloth运行,但README.mdown通过BlueCloth运行) 最佳答案 使用YARD直接代替RDoc将允许您包含Textile或Markdown文件,只要它们的文件后缀是合理的。我经常使用类似于以下Rake任务的东西:

随机推荐