从 Windows 服务调用批处理文件

2023-12-27

我有一项服务需要在将新文件复制到目录时调用批处理。我尝试使用CreateProcess, ShellExecute, ShellExecuteEx乃至system。我尝试直接调用批处理,然后调用cmd.exe并经过/c batchfile作为参数...什么都没有。 我将服务设置为以管理员身份运行。我和其他用户一起尝试过。没有什么。

这是 Windows 2008 服务器。

有任何想法吗? 谢谢。


创建进程 http://msdn.microsoft.com/en-us/library/ms682425%28v=vs.85%29.aspx,如下面的(非常简化的)示例所示,是从服务执行批处理文件的有效方法。

STARTUPINFO si = { 0 };
PROCESS_INFORMATION pi = { 0 };
si.cb = sizeof(si);

if( !CreateProcessA( NULL,
                     "C:\\test.bat",
                     NULL,
                     NULL,
                     FALSE,
                     0,
                     NULL,
                     NULL,
                     &si,
                     &pi
                   ) )
{
    char msg[100];
    sprintf( msg, "CreateProcess() failed: %d", GetLastError() );
    OutputDebugStringA( msg );
}

日志记录是关键。如果批处理文件没有被执行,CreateProcess() 会告诉你原因。

您提到批处理文件将在“将新文件复制到目录时”执行。您是否确认检测代码工作正常?尝试执行批处理文件的代码是否确实达到了?

更多背景肯定会有所帮助。请发布批处理文件和服务代码的相关部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Windows 服务调用批处理文件 的相关文章

  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 如何使用来自 Microsoft-Windows-NDIS-PacketCapture 提供程序的实时 ETW 事件?

    更大的问题是一般如何使用实时 ETW 网络堆栈事件 但我特别感兴趣Microsoft Windows NDIS PacketCapture 提供程序 所有其他网络堆栈提供程序都部分工作 但 NDIS PacketCapture NDIS P
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • ASP.Net Core 2.1 中的身份< - 自定义 AccountController

    我已经安装了ASP NET Core 2 1但即使我创建了一个新的ASP NET Core Web Application using ASP NET Core 2 1 with Individual User Accounts Store
  • 无法在 .NET Core 项目中使用 T4 模板

    我有一个 NET Core 类库项目 我想使用设计时 T4 模板 模板编译正确 但是当我尝试使用反射时 它会引发错误 Running transformation System IO FileNotFoundException Could
  • 什么时候不应该重构?

    我们都知道重构很好 我和下一个人一样喜欢它 但是你有真实的案例吗 not重构 像时间关键的东西或同步之类的东西 技术或人为原因同样受欢迎 真实案例场景和经验优先 Edit 从迄今为止的答案来看 不重构的唯一原因似乎是金钱 我的问题主要与这样
  • MS SQL Server 与 Rails 4

    我想在 Rails 4 上创建一个使用现有 MS SQL 数据库的应用程序 该应用程序可以从使用 Rails 4 及其所有新功能中受益匪浅 但似乎每个人都推荐使用 gem activerecord sqlserver adapter 不支持
  • AJAX 和自签名证书

    我正在尝试将 AJAX 请求发送到使用自签名证书的 REST API 网站 问题是 当我第一次访问该网站时 它抱怨此证书问题 当我执行 AJAX 请求 没有先接受此证书 时 它会默默失败 问题是这种情况下该怎么办 我应该要求用户访问该网站并
  • 在 cbind 或 rbind 之后丢失表的暗名称

    After cbind or rbind ing 一个表对象 例如 添加总和的余量或类似的东西 暗名称的名称会丢失 请参阅y 我找到了这个 解决方法 但想知道是否有一个现成的解决方案 看起来不那么老套 也许可以即时完成一些事情 我想保留班级
  • 404 Not Found:Angular 2 无法与 Spring Rest API 对话

    我按照 Angular 2 的 Tour of Hero 教程使用内存数据库进行操作 然后我创建了一个 Spring 后端来提供数据 并希望将 Angular2 与 Spring 的 Rest API 集成 在英雄之旅中我只改变了hero
  • 概念评估是否可以取决于评估地点?

    温度概念 5 http eel is c draft temp concept 5 sentence 1 says 概念未实例化 temp spec 注 表示概念专门化的 id 表达式被计算为表达式 expr prim id 这是否意味着这
  • 爆炸和 in_Array 搜索不起作用

    好的 这里是代码键盘http codepad org ZQz0Kn3R http codepad org ZQz0Kn3R function processContent content min count 2 exclude list a
  • moment.js 获取当前时间(以毫秒为单位)?

    var timeArr moment format HH mm ss split var timeInMilliseconds timeArr 0 3600000 timeArr 1 60000 这个解决方案有效 测试一下 但我宁愿只使用
  • 内容菜单和打开选项卡的问题 - Chrome 扩展

    我遇到以下问题 在网页上检测到选择后 以下代码未显示 目前 当我选择文本时 上下文菜单没有显示 Code function getword info tab if info menuItemId google console log Goo
  • 在 Woocommerce 3+ 中保存并显示订单自定义元数据

    不久前 我的合作伙伴帮助我在结帐页面添加了自定义字段 我们想问人们 您是如何听说我们的 当他们预订我们的活动时 我们把它放在一起 但不久之后我们就无法正确看到结果了 在发送给管理员的 新订单 电子邮件中 出现 您是如何听说我们的 标签 但没
  • 在序言中将某些字符从列表复制到另一个列表

    所以我有这段代码 它将所有内容从列表复制到另一个列表 我应该如何修改它才能复制 比如说前两个字符 copy L R copy2 L R copy2 X X copy2 H T1 H T2 copy2 T1 T2 我想要的示例 copy a
  • 在 C# 中使用“类型”对象进行类型转换

    到目前为止 这对我来说有点棘手 我想知道是否可以使用 System Type 对象对对象进行类型转换 我在下面说明了我的意思 public interface IDataAdapter object Transform object inp
  • 如何在 GitLab CI 中的其他内容之前在 PATH 中设置 docker-credential-ecr-login

    我正在使用 AWS ECR 托管私有 Dockerfile 映像 并且我想在 GitLab CI 中使用它 根据文档 我需要设置 docker credential ecr login 来获取私有映像 但我不知道如何在其他事情之前做到这一点
  • 如何从应用程序内执行调试器命令

    在运行时我试图恢复一个函数的地址未出口但可以通过共享库的符号表获得 因此对调试器可见 我正在研究需要捕获某些事件并操纵运行时的高级调试程序 其中一项操作需要了解私有函数的地址 仅地址 该地址在其他地方用作密钥 我当前的解决方案在构建时计算该
  • 在python中解析xml

    我希望解析以下 xml http charts realclearpolitics com charts 1044 xml http charts realclearpolitics com charts 1044 xml 我希望将结果放在
  • 如何模拟 Alt+Shift 来更改 Windows 中的语言?

    我需要在 Delphi 中强制使用 Alt Shift 来制作我的应用程序语言 我尝试使用 keybd event 调用它两次 但没有成功 您想切换应用程序的输入语言吗 使用激活键盘布局 http msdn microsoft com en
  • java中如何获取图片的大小

    你好 我在java中使用Jtidy解析器 URL url new URL http l1 yimg com t frontpage baba ramdev 310511 60 jpg Image image new ImageIcon ur
  • 从 Windows 服务调用批处理文件

    我有一项服务需要在将新文件复制到目录时调用批处理 我尝试使用CreateProcess ShellExecute ShellExecuteEx乃至system 我尝试直接调用批处理 然后调用cmd exe并经过 c batchfile作为参