批处理在 for /f 命令上过早关闭

2023-11-24

我有一个批处理文件(在 Windows XP 中,激活了命令扩展),其中包含以下行:

for /f %%s in ('type version.txt') do set VERSION=%%s

在某些计算机上,它工作得很好(如图所示这个问题),但在其他方面它杀死了cmd(控制台窗口刚刚关闭)

Why ?


注意:计算机似乎具有类似的配置:XpSP2,用户具有管理权限,HKEY_CURRENT_USER\Software\Microsoft\Command Processor 中没有定义“命令处理器”...


我得到了第一个经验答案:

for /f %%s in (version.txt) do ...

在每台计算机上都可以正常工作。

它似乎for /f与文件名一起使用,而不是与任何 dos 命令(例如“type filename”)一起使用。

然而,对于我所有客户的计算机来说,情况并非如此(在某些计算机上,“类型文件名”工作正常)

如果你想要 15 分(简单?);-),你可以留下问题的答案:
为什么“for /f”有时不能与文件名以外的任何内容一起使用。为什么它只是关闭 DOS 会话?


编辑:3年后(!),barlop面临类似的情况,问题中详细说明“for /f立即关闭cmd提示符?”。他的结论是:

COMSPEC did get listed when doing SET+ENTER.
So, I opened the environment variables window, and saw COMSPEC was not listed under user or system variables. I added it to System Variables, started a command prompt, and it seems to work fine.

This ss64 论坛上的帖子, 提到的Andriy M在他对巴洛普问题的回答中包含了细节。

炮击中的“for“循环完成'dir'(或您要求完成的任何命令)需要ComSpec要设置以便重新加载cmd window.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ComSpec=
%SystemRoot%\system32\cmd.exe
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批处理在 for /f 命令上过早关闭 的相关文章

  • 在文件夹的上下文菜单中运行批处理文件

    当我右键单击任何文件夹时 我想运行此批处理文件 setenv cmd echo off SET CPLUS INCLUDE PATH C mingw32 include C mingw32 lib gcc mingw32 4 9 2 inc
  • 每次批量从选择中获取随机句子

    有没有一种方法可以做到这一点 而不是每次都设置相同的回显 您可以给出一个回显列表 并且每次到达该回显命令时它都会选择一个随机的回显 是的 这是一个概念证明 echo off setlocal enabledelayedexpansion s
  • 阻止 gulp 更改 shell/cmd 标题名称

    当 gulp 被调用时 它会将我的 cmd windows 标题更改为 gulp 我希望窗口名称保持原样 我知道我可以使用https www npmjs com package gulp shell https www npmjs com
  • 如何在批处理中返回数组的元素?

    我的程序中的数组列表中有两个元素 如何将变量分配给等于其中一个元素 这是代码 echo off setlocal enabledelayedexpansion set p string for l a in 0 1 1000 do if n
  • Windows批量编程中读取文件名

    我想在Windows批处理编程中读取文件的名称 我尝试使用不同的方法但失败了请帮助 下面给出了场景 我的文件夹中有不同的文件 但所有文件的文件名长度相同 例如 1000342578 30062011 PDF 1000342329 30062
  • 批处理文件中的 %* 是什么意思?

    我见过的用法 在批处理文件和命令行中 有人可以解释一下的典型用法吗 有一个例子吗 它的意思是 命令行中的所有参数 例如 当您想要将命令行从批处理文件转发到另一个程序时 它非常有用 REM mybatchfile cmd echo You c
  • 双击时将文件名传递给 Windows 批处理 (.bat) 脚本,以便它将以八度运行

    我是使用批处理脚本的新手 并且对八度音程有一定的经验 我有很多使用八度函数检查的数据文件 我正在尝试进行设置 以便我可以双击具有自定义扩展名的文件来直接打开八度函数 想想 当我双击这个文本文件时 它会在记事本中打开 为此 我写了一个非常基本
  • 批量设置变量=%变量:~1%是什么意思

    谁能解释一下是什么 1 在批处理文件中的以下语句中 我分配的值 variable到服务器名称并尝试过echo variable 我得到与输出相同的服务器名称 谁能解释一下下面的语句是如何工作的 set variable variable 1
  • Windows 批处理:如何添加主机条目?

    我想使用此批处理脚本通过使用自动将新条目添加到我的主机文件中windows questions tagged windows batch 不幸的是 剧本只需在主机文件中添加一行 当我以管理员身份运行脚本时 又出了什么问题 echo off
  • 需要帮助通过批处理文件添加注册表项

    我正在尝试通过cmd添加以下注册表项 我无法让其他用户能够使用以下命令添加此注册表项regedit exe s Location Project reg HKEY CURRENT USER Software Autodesk Fabrica
  • 仅当存在较新的文件时才删除文件的 Bat 文件

    我们的备份系统每天都会创建 bak 文件 如果遇到问题 我们可以使用该文件来恢复文件 如果不管这些 它们会填满我们的存储空间 所以我找到了一个批处理文件 我可以在创建新批处理文件后每天运行该文件来删除旧的批处理文件 forfiles p c
  • BATCH - 从 Windows 命令行获取显示分辨率并设置变量

    echo off set h wmic desktopmonitor get screenheight set w wmic desktopmonitor get screenwidth echo h echo w pause 而不是得到
  • 如何在后台运行python程序以保持活动窗口相同

    我编写了一个程序 可以将前景窗口更改为显示器尺寸的 85 并且要成功运行 前景窗口需要保持不变 我已将 python 脚本 pyw 放入批处理文件 运行 pythonw 并在桌面上创建了批处理文件的快捷方式 并提供了快速运行它的快捷方式 我
  • 使用批处理解析 XML 文件以从某些特定节点获取值

    对于每个节点列表有Lists作为其父节点 我想获取 保存前三个节点的变量值 即entry output and token 我知道如何使用 vbscript 来做到这一点 但对我来说 批量解决方案更有趣 请问可以做吗
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • 如何获取Windows批处理的父文件夹

    我正在编写一个批处理文件 我需要获取该bat文件的父文件夹 有可能吗 注意 我的意思是批处理文件的父文件夹 而不是调用该批处理的提示的当前目录 Thanks 批处理的父文件夹位于变量中 dp0位于 例子 echo off setlocal
  • 使用 Windows 批处理文件在文本文件中添加新行

    我有一个文本文件 其中有 200 多行 我只想在第 4 行之前添加一个新行 我使用的是 Windows XP 输入前的示例文本文件 header 1 header 2 header 3 details 1 details 2 输出后 hea
  • 批处理脚本生成特定年月、周和工作日的文件夹

    最近几天我一直在寻找这个问题的答案 有很多关于全年批量文件夹创建的答案 但不够具体 所以我非常感谢答案 所以我想要这样的文件夹结构 如下所示 2017 for example main folder for year 2017 01 JAN
  • 我可以从命令行或 MS-Dos 启用/禁用网络连接吗?

    我想从 Windows 8 中的命令行启用 禁用网络连接 netsh interface set interface Local Area Connection DISABLED 要启用该接口 您需要运行 netsh interface s
  • Windows批处理文件:将结构转换为单行字符串

    我需要将这个艰巨的任务作为批处理文件来完成 这对于 C 来说不是最困难的 但在 DOS 中是一个地狱 至少对我来说 我需要将结构转换为单个 var 字符串 才能在我的程序中再次将它们转换为该结构 别担心回归 一切都已经完成了 该结构的大小会

随机推荐

  • IIS7 - 在 ASP 中指定内容长度标头会导致“连接重置”错误

    我正在将一系列网站从现有的 IIS5 服务器迁移到全新的 IIS7 Web 服务器 其中一个页面从数据库中的 blob 中提取数据文件并将其提供给最终用户 Response ContentType rs contentType Respon
  • 可以使用 Fetch API 作为请求拦截器吗?

    我尝试在每次使用 Fetch API 向服务器发出请求后运行一些简单的 JS 函数 我已经搜索过这个问题的答案 但没有找到任何答案 可能是因为 Fetch API 相对较新 我一直在这样做XMLHttpRequest像这样 function
  • 如何将准备好的语句与 PHP 事务结合使用?

    我的目标是同时使用事务和准备好的语句 以实现数据完整性和防止 SQL 注入 我有这个 try cnx new PDO dsn dbuser dbpass cnx gt setAttribute PDO ATTR ERRMODE PDO ER
  • 对象属性赋值与解构?

    我想用ES6 解构分配对象的属性 但无法弄清楚语法 var dst already in existence with its own props methods etc var src a foo b bar c baz dst a sr
  • 图像变换会产生红色图像?

    我正在尝试通过水平翻转图像并调整其大小来转换图像 问题是 当转换完成后 图片的颜色都很奇怪 它已经变成了微红色调 是否有可能以某种方式解决这个问题 我想我在某处读到这可能是 AWT 库中的一些错误 但我不确定 这是代码 import jav
  • 模板内类型名分配的目的是什么

    我遇到过这段代码 我试图包含所有详细信息 以防我遗漏某些内容 template lt typename TYPE TYPE with an arbitrarily long name typename KIND KIND with an a
  • 斯康斯。使用 Glob 进行递归

    我使用 scons 几天了 有点困惑 为什么没有内置工具用于从给定根开始递归构建源 让我解释 我有这样的源码配置 src Core folder1 folder2 subfolder2 1 Std folder1 等等 这棵树可能更深 现在
  • mysql 中的文本索引与整数索引

    无论如何 我一直尝试在表上使用整数主键 但现在我怀疑这是否总是必要的 假设我有一个产品表 每个产品都有一个全球唯一的 SKU 编号 这将是一串 8 16 个字符的字符串 为什么不把这个作为PK呢 通常 我会将此字段设为唯一索引 但随后使用自
  • 在php中调整图像的透明度

    我已经仔细研究了在调整 png 大小时如何正确管理 alpha 我设法让它保持透明度 但仅限于完全透明的像素 这是我的代码 src image imagecreatefrompng file dir this gt file name ds
  • C++20 中的指定初始值设定项

    我有一个关于 c 20 功能之一的问题 指定初始化程序 有关此功能的更多信息here include
  • 请求在 v2.3 API 中获取 Facebook 页面点赞总数

    以前我为此使用 FQL 但从 v2 1 开始已弃用 我将使用图形边缘 likes 转向 v2 3 这是我的网址 https graph facebook com v2 3
  • 如何根据标签更改 Chart.js 点的颜色

    我有一个 Chart js 折线图 其中标签是星期几 我想根据具体日期 周一至周日 更改点背景 我可以根据数据值更改背景颜色 但这不是我需要的 相反 我想给每一天 标签 一个不同的色点 例如 这就是我如何根据数据值更改点 不是我需要的 ch
  • 带有 EduTools 插件的 Kotlin Koans:“无法启动检查”

    我正在尝试遵循科特林公案Android Studio 中的教程安装 EduTools 插件 and 选择 Kotlin Koans 课程 一切正常 但是当我尝试时 检查任务 in the 任务描述面板 我收到此错误 启动检查失败 我也尝试了
  • 覆盖功能

    我正在学习一所著名大学提供的 iOS 在线课程 我不明白为什么使用以下代码override这是合法的 根据官方定义 我们使用override重写超类的方法 下面代码中的子类和超类在哪里 什么被覆盖以及被什么覆盖 public overrid
  • 使用 cv::Mat 进行高效的 C++ 四元数乘法

    我想乘以 2 个四元数 它们存储在cv Mat结构 我希望该功能尽可能高效 到目前为止我有以下代码 Quaternion multiplication void multiplyQuaternion const Mat q1 const M
  • 使用 ServiceStack.ORMLite 实现工作单元和存储库模式的最佳实践

    假设有两个存储库接口 interface IFooRepository void Delete int id interface IBarRepository void Delete int id 以及工作单元界面 例如 interface
  • React 从 URL 内联导入 SVG

    我正在解决一个问题 其中 SVG 图像需要从 URL AWS S3 加载到反应组件 我能够使用本地文件中的 SVG 内联反应组件成功显示和加载图像 但是 svg 文件需要从 S3 存储桶内联加载 JS svg 导入不适用于 URL 所以我想
  • 从 Python 中的 webbrowser.get() 调用 Chrome Web 浏览器

    我应该如何调用 webbrowser get 函数以便打开 chrome 网络浏览器 我正在运行 Ubuntu 11 04 和 Python 版本 2 7 使用 webbrowser get chrome 会产生错误 快速解决方法是将 Ch
  • HttpClient 不支持 PostAsJsonAsync 方法 C#

    我正在尝试从我的 Web 应用程序调用 Web API 我正在使用 Net 4 5 在编写代码时出现错误HttpClient不包含定义PostAsJsonAsync method 下面是代码 HttpClient client new Ht
  • 批处理在 for /f 命令上过早关闭

    我有一个批处理文件 在 Windows XP 中 激活了命令扩展 其中包含以下行 for f s in type version txt do set VERSION s 在某些计算机上 它工作得很好 如图所示这个问题 但在其他方面它杀死了