以管理员身份运行脚本一闪而过的原因及解决方法

本文介绍了在Windows 7环境下,以管理员权限运行脚本时出现的一闪而过现象及其解决方法。问题根源在于脚本路径包含特殊字符导致运行失败。解决方法包括创建一个exe程序,用于启动脚本,以及注意处理路径中的特殊字符。作者还提醒,通过cmd直接运行脚本可能因未处理特殊字符而导致失败。
摘要由CSDN通过智能技术生成
一个简单的复制文件的脚本,用于安装软件,在 Win7 下右击以管理员身份运行,竟然一闪而过,虽然脚本中有 pause 。后检查目标目录,毫无疑问自然是复制失败,软件安装失败。死活未能看出来脚本有何问题,因为这脚本本身已经够简单了,而且对于先启动 cmd 再手动启动该脚本的情况没有任何问题。更无语的是后来在多台机器上尝试,竟有部分成功部分失败的现象。估计应该是系统问题,但无论怎样总得要让脚本能够运行起来,事在人为。解决方法倒不复杂,就是显得有些蛋疼,专门建个 install.exe 仅仅就是为了启动同目录下的 install.cmd ,你说什么感觉!

附 install.c
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <unistd.h>
#include <windows.h>

#ifndef _WIN64
// 退出进程,若在 64 位系统上运行的话
void EXIT_IF_WOW64()
{
    typedef BOOL (WINAPI *is_wow64_type)(HANDLE, PBOOL);
    is_wow64_type is_wow64;
    BOOL wow64 = FALSE;
    is_wow64 = (is_wow64_type)GetProcAddress(
        GetModuleHandle(TEXT("kernel32")),
        "IsWow64Process"
    );
    if(is_wow64 != NULL)
        is_wow64(GetCurrentProcess(), &wow64);
    if(wow64) {
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值