【问题标题】:First line of batch file fails - is not recognized as an internal or external command, operable program or batch file批处理文件的第一行失败 - 不是内部或外部命令、可运行程序或批处理文件
【发布时间】:2014-04-05 06:07:11
【问题描述】:

在 VS2012 的 Windows 7 上,我设置了一个外部工具来调用一个 bat 文件(我们称之为 BatA.bat)。在外部工具中,我将 $(ItemDir) 作为唯一的参数传递,并且我也有 $(ItemDir) 的初始目录。

在 BatA.bat 中,调用运行 BatB.bat,如下所示:

call "%1BatB.bat"

此命令调用 BatB.bat 会在输出窗口中产生以下结果:

'rem' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

你好

BatB.bat 代码如下:

rem ***Bat B***
@echo off
echo.
echo hello

奇怪的是,尽管有错误消息,但 BatB.bat 确实运行并完美执行!

我只是不明白为什么我首先在​​调用 BatB.bat 时收到错误消息...

BatA.bat 和 BatB.bat 都在同一个目录中。我尝试在调用 BatB.bat 时对路径进行硬编码,并在调用 BatB.bat 之前对 bat 目录执行 cd,但我仍然收到相同的错误。

【问题讨论】:

标签: batch-file visual-studio-2012 windows-7 command-line-tool


【解决方案1】:

对我来说解决此问题的最简单方法是在 notepad++ 中打开文件,并在 Encoding 选项卡下,确保使用末尾没有 BOM 的编码。

是导致'rem' is not recognized as an internal or external command.......的BOM

【讨论】:

  • 我也遇到过这种情况。 Visual Studio 2012 喜欢以 UTF-8 编码所有代码文件,因此如果您需要编辑属于 Visual Studio 解决方案的 bat 文件,您可能需要使用电动工具提供的“在文件资源管理器中打开文件夹”命令扩展并使用 Notepad++ 处理所有批处理文件。
猜你喜欢
  • 1970-01-01
  • 2018-08-25
  • 2014-06-01
  • 2022-01-06
  • 2016-07-07
  • 2021-12-20
  • 2016-12-03
  • 2019-04-25
  • 2015-05-16
相关资源
最近更新 更多