win7环境下批处理文件(代码正确)不能运行的问题

一、运行环境:
1、 win7 32位系统
2、系统环境变量值已经添加:C:\Windows\system32;
3、按照网上教程在用户变量里也已经添加了 %path% 的环境变量及 C:\Windows\system32 的变量值;

二、cmd运行代码:

1.for %i in (1,2,3) do @echo %i //在 cmd 窗口能正常运行和显示

三 .bat 文件的运行代码:

第一种:

 1.@echo off
 2.for %%i in (1,2,3) do @echo %%i
 3.pause

建成 .bat 文件后,双击,cmd 窗口闪现,无法正常运行;

第二种:

 1.for %i in (1,2,3) do @echo %i

建成 bat 文件后双击同样闪现和无法运行

三、问题补充:
1、把上述两个.bat 文件拉到 cmd 窗口,运行显示乱码,不是内部或外部命令,也不是可运行的程序或批处理文件;求解该问题原因;
2、求解该问题的解决方法;

四、问题图片:

图片说明

6个回答

可能是文本编辑器保存bat文件的编码格式不对,比如存成UTF-8格式或其他不支持的格式,建议用Notepad查看一下

weixin_37145219
入坑小白 已经解决,是notepad编码问题所致。我用 vs2010编写代码保存成.bat文件可以使用。然后再回到之前用记事本(notepad)编辑成的.bat 文件,右键点击,打开编辑,显示乱码。
一年多之前 回复
sharperhuang
sharperhuang 回复weixin_37145219: 我用户notepad复制了代码存成BAT文件,运行是正常的。
一年多之前 回复
weixin_37145219
入坑小白 编码格式应该没有问题,所有编码格式都尝试过了。不过不能通过记事本直接存成 .bat 文件(存成其他后缀名的文件可以),因为这样会显示磁盘被保护,不知道跟这个原因有没有关系?
一年多之前 回复

不是内部命令,环境没配好吧,乱码的话,将编码设置utf-8

for %%i in (1,2,3) do @echo %%i
pause

应该是因为乱码导致不是内部命令

我测试的你第一种bat是正常运行的,第二种不行,所以应该是乱码导致的所有问题

你试一试将鼠标右键移到1.bat上,然后点击右键,在右键菜单中选择‘编辑’就可以在notepad上修改批处理文件

weixin_37145219
入坑小白 然后再回到之前用记事本(notepad)编辑成的.bat 文件,右键点击,打开编辑,显示乱码。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!