如何修复无法在Windows上运行BAT批处理文件

如何修复无法在Windows上运行BAT批处理文件

BAT 或批处理文件通过一系列命令使重复性任务自动化,从而简化重复性任务。 但是,有时 BAT 文件会无缘无故地自动删除。 在其他情况下,文件可能会拒绝打开。

无论出现什么问题,本指南都将提供解决所有 BAT 文件问题的方法。 我们还将强调为什么 BAT 文件有时无法在您的 Windows 计算机上运行。

推荐:如何修复Windows中的A Debugger Has Been Found错误

为什么 BAT 文件在 Windows 上会立即被删除?

BAT 是一种包含一系列指令或命令的扩展类型(类似于 EXE、JPG 或 PDF 文件)。 BAT 文件可能拒绝在 Windows 上运行的原因有多种,例如:

  • 错误的防病毒检测,
  • 文件中的命令不正确,
  • 不正确的文件/文件夹权限,
  • 意外的系统错误。

现在您知道了 BAT 文件被删除的原因,让我们继续讨论建议的修复。

1. 修复 BAT 文件中的语法错误

如果您不喜欢编程,术语“syntax” 可能太技术化了。简单地说,语法错误意味着任何代码中的命令、表达式或符号错误。

例如,下面的代码可以创建一个名为“Makeinfoxiao“:

@echo offmkdir Makeinfoxiao

假设我们将其保存为.BAT 格式但错误地输入了“mkdr“ 代替 ”mkdir。” 这种印刷错误是一种语法错误,因此,BAT 文件将无法按预期运行。如果您发现运行批处理文件具有挑战性,语法问题可能会导致问题。

我们假设您不是程序员。 所以你可能不知道不同的语法错误。 在这种情况下,您可以使用 ChatGPT 寻求帮助。 就是这样:

  1. 复制 BAT 文件中的完整代码。 一个简单的方法是按 Ctrl + A 进而 Ctrl+C.
  2. 打开 ChatGPT 网站并使用您的 Google 帐户登录。
  3. 将以下提示复制并粘贴到文本框中: Please correct all the syntax errors in the following .BAT file code: CODE.请更正以下 .BAT 文件代码中的所有语法错误:CODE. 复制后,替换 CODE代码 使用 BAT 文件中的实际代码。
    ChatGPT 提示输入 BAT 文件
  • Enter 或者 Send发送 按钮。 现在 ChatGPT 将尝试删除所有可能的语法错误并为您提供修改后的版本。
  • 复制编辑后的版本并将其替换为 BAT 文件中的代码。
    ChatGPT 提示输出
  • 进行必要的更改后,保存 BAT 文件并重新运行它。

为避免将来出现此类语法错误情况,我们建议您学习如何正确创建批处理文件。

2.暂时禁用您的防病毒软件

有时,防病毒软件会将正常的应用程序和文件检测为系统威胁(由于错误检测)。 在这些情况下,一个好的做法是禁用防病毒软件或从设置中排除此类文件。

如果您使用的是 Windows 附带的默认应用程序,请按照以下方法禁用 Windows 安全应用程序以获得帮助。 请记住在运行 BAT 文件后再次启用它以保护您的计算机。

3.将BAT加入杀毒排除列表

解决防病毒问题的另一种方法是将 BAT 文件添加到防病毒排除列表中。 这允许特定文件绕过常规防病毒扫描。

要将 BAT 文件添加到排除列表,请导航至防病毒设置或选项菜单。 查找标题为 ExclusionsWhitelist排除, 白名单,或类似的东西。 然后,将您的 BAT 文件添加到排除列表中。

如果您没有使用第三方防病毒软件,请查看如何设置 Windows 安全排除项以快速修复。

4.调整.BAT文件关联

您是否注意到当您打开 .TXT 文件时会弹出记事本,或者当您打开 .PNG 或 .JPG 文件时会打开 Windows 照片应用程序? 这是因为文件关联。 类似地,BAT 文件具有默认的程序文件关联,即与命令提示符关联。

但是,如果您的 .BAT 文件没有正常打开或运行怎么办? 这可能是因为与您的文件的文件关联以某种方式被删除或配置错误。

让我们使用 Windows 设置应用程序解决此问题。 以下是调整 .BAT 文件关联的方法:

  1. Win + I  键打开 Settings设置 应用程序。
  2. 点击 Apps应用 然后选择 Default apps默认应用.
    Windows 应用程序设置屏幕
  3. 滚动到最后并单击 Choose default by file type按文件类型选择默认.
    Windows 默认应用程序设置
  4. 定位 .bat  在列表中并单击 Choose a default选择一个默认值.
    BAT文件关联设置
  5. 选择 Command Prompt命令提示符 然后点击 Set Default默认设置 按钮。

就是这样! 现在,您的 .BAT 文件应该使用命令提示符打开,而不是立即被删除。

同一设置部分中有多种文件类型。 如果您想更改启动特定文件类型的默认应用程序,您可以这样做。 例如,如果您将 Drawboard 用作 PDF 查看器,请单击 .pdf 并将其选为所有 PDF 文件的默认应用程序。

5.取得批处理文件的所有权

Windows 上的每个文件(包括 BAT 文件)都带有一组权限。 这些权限指导系统了解谁可以访问文件以及他们可以执行什么操作(如读取或写入)。 毫无疑问,防止对您的 Windows 文件进行未经授权的更改是件好事。 但是,有时,它会导致批处理文件出现问题。

解决此问题的一种简单方法是获取 BAT 文件的所有权。

现在您知道了主要原因,您可以学习如何在 Windows 上取得任何文件或文件夹的所有权。 对于单个文件和文件夹,取得所有权的所有步骤都是相同的。

请记住,拥有所有权会带来风险。 原因如下:如果文件来自未知来源(随机网站)并且您拥有所有权,您可能会在不知不觉中执行有害代码。 因此,在获得所有权之前仔细检查代码和文件源。

6.修改ComSpec系统变量

不要被技术术语“混淆”ComSpec”简单地说,ComSpec 系统变量是给命令提示符路径的标题或名称(即,%SystemRoot%\system32\cmd.exe)。因此,无论何时 Windows 应用程序或程序想要打开或访问命令提示符,它使用 ComSpec 系统变量立即打开它。

但是这和 BAT 文件有什么关系呢?

运行批处理文件时,系统会检查 ComSpec 系统变量提到的路径。 如果此变量的值不正确,比如给定的路径不是命令提示符,系统将拒绝打开您的文件。

要解决此问题,请按照以下步骤正确设置 ComSpec 系统变量:

  1. Win + R 带来 Run运行 应用程序。
  2. 输入 sysdm.cpl 在文本框中并单击 OK 好的 执行它。
    运行应用程序中的 Sysdm 命令
  3. 从选项卡菜单中,导航到高级并单击  Environment Variables环境变量 按钮。
  4. 在下面 System variables系统变量双击 ComSpec规范.
    系统变量列表
  5. Edit Environment Variable编辑环境变量 窗口,确保变量值匹配 %SystemRoot%\system32\cmd.exe. 如果您的情况下该值不同,请更正该值。
    ComSpec 系统变量
  6. 点击 OK好的 应用更改。

希望现在您的 BAT 文件可以按预期运行。 最后一点,在调整任何系统变量时务必小心谨慎。 为了更加安全,请在进行任何更改之前记下原始值。

解决您在 Windows 上的所有 BAT 文件问题

我们已经为您的所有 Windows BAT 或批处理文件相关问题指出了所有可能的解决方案。 因此,请尝试一次并运行任何批处理文件而不会出现错误。

请记住,您的防病毒软件通常会阻止或删除您的 BAT 文件,因此请将其禁用几分钟。 或者,您可以在运行可执行文件之前将它们列入白名单。

推荐:WordPress缓存插件WP Rocket


发表评论