Windows 7上的Windows批处理文件出现问题

时间:2009-01-28 03:25:24

标签: windows-7 batch-file

我有一个批处理文件来编译和链接我的所有代码。它包含以下内容:

@echo off
nasm -f aout -o start.o start.asm
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o main.o main.c
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o scrn.o scrn.c
ld -T link.ld -o kernel.bin start.o main.o scrn.o
pause

问题是,当我运行它时,它只是将所有这些打印为文本。 它绝对是一个批处理文件。它的.bat文件结尾,在notepad ++中,@ echo off和pause的语法正在突出显示而不是手动设置。 这是Windows 7的错误吗?或者我做错了什么?

2 个答案:

答案 0 :(得分:5)

您是从命令行运行还是双击资源管理器?

也许您将编辑操作设置为默认值?

尝试右键单击并选择打开

编辑:也许你的线路终结器搞砸了。 Windows期望CRLF。

在Notepad ++中:

  • 点击查看 - >显示行尾。
  • 如果它们不是CRLF,请单击格式 - >转换为Windows格式。

答案 1 :(得分:1)

更简单的例子
Windows 7安装
使用cygwin获取gcc

我使用了以下批处理脚本:

PATH = %PATH%;C:\cygwin\bin;
gcc test.c

在以下c文件中:

main() {
        printf("hello, world");
}

编译得很好。

我的结论
Windows 7批处理脚本的工作方式与之前版本的Windows非常相似。

可能让你失望的简单事情
默认情况下,Windows上未安装Gcc,我建议使用cygwinmingw 安装gcc后,默认情况下Gcc不在PATH上,您可以将其添加到系统的环境变量中或将其添加到批处理脚本中(使用类似我刚刚使用的批处理脚本的第一行)。