cmd批处理,退出后继续处理的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmd批处理,退出后继续处理的问题相关的知识,希望对你有一定的参考价值。

@echo off
echo 正在处理,不要心急
gpt Reproject -Ssource=D:\land.h5 -PnoDataValue=NaN
::上面这个gpt是个专业的处理数据的软件,处理完会自动退出,而后的程序就不能继续运行后面的代码。关键问题就在于此,我想继续运行后面的代码。不知道有没有什么解决办法.
echo 处理完成,开始复制文件
copy target.data\land.img E:\temp\
copy target.data\land.hdr E:\temp\
echo 复制完成,开始删除
del /Q /S target.data
echo 完成,处理下一个
——————————————更新线——————————————
目前我的思路是想用start /min "" "reproject" (repoject里面为gpt Reproject -Ssource=D:\land.h5 -PnoDataValue=NaN)
新建一个窗口出来,而后等这个窗口执行完,退出后再运行后面的代码。
不知道各位大神有没有更好的建议。

——————————————更新线——————————————

现在问题解决了,新建了一个批处理文件:reproject。
里面内容即为gpt Reproject -Ssource=D:\land.h5 -PnoDataValue=NaN
把上面代码中原来的那一句替换成 call reproject.bat。
查了查call与start,发现call可以调用另一个批处理文件,正好符合我的要求,可以等他调用的那段代码处理完,继续后续处理。
上述这些,可以留给后来者做个参考。

你把要结束的批处理加个title,结束掉就行。不用那么复杂吧
title 运行
TASKKILL /F /FI "WINDOWTITLE eq 运行*"
就两句,一个文件加进去一句,就行。无语

下面是直接操作程序

@echo off
:back
:::这里notepad.exe是你的程序,路径要写全
start /max "" "notepad.exe"<img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索">
ping -n 6 127.0.0.1>nul
:::这里notepad.exe是你的程序,路径不要写
TASKKILL /F /IM notepad.exe
ping -n 2 127.0.0.1>nul
goto back
参考技术A 只要123456789.txt存在,批处理是能够正确执行的。那个多出来的“1”代表标准输出设备"stdout"原句type123456789.txt>>987654321也可以写成:type123456789.txt1>>987654321或:1>>987654321type123456789.txt其中的"1>>"可以缩写成">>"

Python多处理:在父进程退出后运行进程

【中文标题】Python多处理:在父进程退出后运行进程【英文标题】:Python multiprocessing: Running a process after its parent exited 【发布时间】:2020-03-04 03:49:59 【问题描述】:

我正在编写一个在 Mac OS 和 Linux 下运行的 Python 程序,我想在 multiprocessing.Process 中运行一些逻辑。该逻辑需要一段时间,我希望它在我的程序完成并退出后继续运行。即,我希望主进程等待辅助进程完成。我希望主进程在完成后立即退出。

我做了一些实验,似乎这是使用subprocess 时的默认行为,但我无法使用multiprocessing.Process 实现它,即使我运行set_start_method('spawn')

您知道让multiprocessing.Process 表现出这种行为的方法吗?

【问题讨论】:

你看到daemon 标志了吗?我认为将其设置为 True 会满足您的需求。 【参考方案1】:

看起来像启动一个新进程,然后从中调用 os.fork 就可以了。

【讨论】:

以上是关于cmd批处理,退出后继续处理的问题的主要内容,如果未能解决你的问题,请参考以下文章

当我输入带空格的输入时,批处理 cmd 退出

在 C# 中启动一个批处理文件,然后等待它退出再继续

Python多处理:在父进程退出后运行进程

Windows批处理 调用程序后 不等待子进程 父进程继续执行命令

批处理文件以激活 env 并运行 spyder。 CMD 保持打开状态

exit