zoukankan      html  css  js  c++  java
  • 用批处理修改日期,然后在改回来

    用批处理修改日期,然后在改回来

    XP系统,因为要运行一个破解软件,日期必须是2011-02-01,才能运行这个软件,要求,运行这个批处理先记录下今天是XX年X月X日,然后改日期到2011.2.1,然后运行artcampro.exe这个文件,批处理在后台默默运行,30秒一次判断artcampro.exe进程是否存在,如不存在则改回原来日期
    ————————————————————————————
    其实我也有点思路,就是觉得麻烦,希望批处理达人帮帮忙了,解决后必定追加悬赏复制粘贴党就不用来了

    提问者采纳
    @echo off
    SET y=%date:~0,4%
    SET m=%date:~5,2%
    SET d=%date:~8,2%
    ECHO %y%/%m%/%d%
    DATE 2011/02/01
    START "" d:artcampro.exe
    :loop
    ping -n 31 127.1>nul
    tasklist |FIND "artcampro.exe">nul
    IF %errorlevel%==1 (DATE %y%/%m%/%d%&&EXIT) else (GOTO loop)
    pause

    30秒循环检测进程是否存在,不存在就改回日期退出批处理.

    追问:如果我运行了几次这样的软件,会不会同时有几个这样的进程存在呢?
    回答:这得看运行几次是不是连续运行,也就是说之前的程序(artcampro.exe)未关闭,我写的这个只是判断有没有,而不是判断有几个. 如 "依梦琴瑶"所说 start /wait 等待程序结束.这样可以用来启动一次程序.
    追问:不知道有start /wait这个,如关闭掉artcampro.exe程序就能把时间给改回去,这就最好了,
    那么应该怎么写呢?
    回答:
    @echo off
    SET y=%date:~0,4%
    SET m=%date:~5,2%
    SET d=%date:~8,2%
    ECHO %y%/%m%/%d%
    DATE 2011/02/01
    START /WAIT "" d:artcampro.exe
    DATE %y%/%m%/%d%&&EXIT
    pause

    完整代码.
    追问:以前不知道START /WAIT,今天长知识了,谢谢你,也谢谢其他回答的各位了。
    提问者评价:再次感谢

    其他3条回答
    @echo off
    (echo %date:~0,-3%)>1.txt
    date 2011.2.1
    start artcampro.exe
    :loop
    tasklist|find /i "artcampro.exe" || goto begin
    ping -n 30 127.0.0.1>nul
    goto loop
    :begin
    set /p d=<1.txt
    date %d%
    pause

    命令详解:
    start /wait 你可以看一下命令帮助

    WAIT 启动应用程序并等待它终止。

    command/program

    如果它是内部 cmd 命令或批文件,则该命令处理器是使用

    cmd.exe 的 /K 开关运行的。这表示运行该命令之后,该窗口

    将仍然存在。

    如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将

    作为一个窗口化应用程序或控制台应用程序运行。

    yyykkkyyyy | 十三级
    帮你懒一把 批处理放那artcampro.exe程序同位置再发送快捷方式到桌面,如果之前已启用并正在运行那个程序,它就不会再启动程度及改动日期

    @echo off&cd/d "%~dp0"
    if "%~1"=="h" goto begin
    if not exist hide.vbs (
    echo Set ws = CreateObject("Wscript.Shell"^)
    echo ws.run "cmd /c %~s0 h" ,vbhide)>hide.vbs
    start hide.vbs
    exit
    :begin
    tasklist|find/i "artcampro.exe"&&exit
    set td=%date:~,10%
    date 2011-02-01
    start "" /wait "artcampro.exe"
    date %td%

    依梦琴瑶 | 来自手机知道 | 十三级
    其实不用检测,只需利用start /wait命令让批处理等待程序结束即可,所以你可以结合jd08139这个知友的内容即可

    出处:http://zhidao.baidu.com/question/570316060.html?fr=qrl&index=2&qbl=topic_question_2

  • 相关阅读:
    2017年上海金马五校程序设计竞赛:Problem C : Count the Number (模拟)
    2017年上海金马五校程序设计竞赛:Problem B : Sailing (广搜)
    2017年上海金马五校程序设计竞赛:Problem A : STEED Cards (STL全排列函数)
    之江学院第0届校赛 qwb去面试 (找规律)
    [leetcode-41-First Missing Positive]
    [leetcode-625-Minimum Factorization]
    [leetcode-623-Add One Row to Tree]
    [leetcode-624-Maximum Distance in Arrays]
    [leetcode-95-Unique Binary Search Trees II]
    [leetcode-96-Unique Binary Search Trees]
  • 原文地址:https://www.cnblogs.com/mq0036/p/3539438.html
Copyright © 2011-2022 走看看