批处理不会执行,只是重新打印其内容

时间:2016-06-07 19:39:57

标签: windows batch-file cmd

无论我的代码是什么,即使我的批处理文件在语法上是不正确的,即使它是绝对正确的,即使屏幕上没有任何内容显示,批处理文件在执行时只是按原样显示代码。 / p>

我读了一个类似的问题MSDOS prints the whole batch file on screen instead of executing但是因为那是在MS-DOS上我希望我的问题可以有一个不同的解决方案。

例如,

@echo off
set abcd=4

即使它的批处理文件也会显示相同的行。 请帮忙。

4 个答案:

答案 0 :(得分:1)

如果可能,请尝试“重置”cmd。您可以尝试复制其他人的“ cmd.exe ”并使用其他可启动操作系统将其替换为Windows,因为Windows不允许这样做。

此处使用我的 cmd.exe https://drive.google.com/open?id=0B6ghonMKBfUSLVpRV0U5bG5pQTQ 万一你需要知道我使用的是Windows 10 64位。

答案 1 :(得分:1)

使用允许您查看编码的编辑器检查文件。 例如Notepad ++,您将通过CF(\ r)和LF(\ n)看到行尾有很大不同

您的CMD只能通过\ n识别EOL。

答案 2 :(得分:0)

要确定您的问题是否真的是由文本编辑器转换换行符(如您提及的帖子所示),请执行以下测试:

  • 打开命令行窗口
  • 键入以下命令: copy con test.bat
  • 光标将在命令提示符下重新定位,这是正常的
  • 键入以下3个命令,每个命令后跟[Enter]键:

Echo Off
Set abcd=4
Echo abcd
  • 同时按 CTRL-Z (它将在屏幕上显示为 ^ Z
  • 配置消息应说明: 1个文件被复制。

现在输入测试以运行批处理文件。如果它运行正常,则意味着您确实在处理线路终端问题。使用不同的文本编辑器(不要使用记事本!!!),理想情况下你可以选择显示行终止字符(我个人使用NotePad ++,它适用于这些类型的东西,但还有很多其他的在那里)。

答案 3 :(得分:0)

您的环境变量可能存在问题。请检查以下内容:

  1. 按WIN + R并运行"%SYSTEMROOT%\ System32 \ SystemPropertiesAdvanced.exe"
  2. 点击"环境变量"
  3. 系统变量列在底部。选择变量" Path"然后单击"编辑..."
  4. 检查列表是否包含" C:\ Windows \ System32"或"%SYSTEMROOT%\ System32"。如果没有,请添加其中一个。您可能必须在之后重新启动计算机。