在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修复,但仍然收到相同的错误。
最佳答案
解决此问题的最简单方法是在notepad ++中打开文件,并在Encoding
选项卡下,确保使用末尾没有BOM的编码。
导致'rem' is not recognized as an internal or external command.......
的是BOM