怎么用C语言让bat文件成功在DOS *** 作系统中运行

怎么用C语言让bat文件成功在DOS *** 作系统中运行,第1张

DOS是单任务的

装载了bat自己就要结束进程

DOS里面不是不可以不过你要在DOS下编译

DOS下我不知道有没有CreateThread或者CreateProcess这样的API

如果没有你可以试试system(const

char

cmdline);

在参数里面传进bat文件的全路径

楼下的孩子,DOS系统不是古老不古老的问题

你说DOS不存在,那我就不明白了,你知不知道x86有一种模式叫实模式?

谁告诉你没DOS的?

哥告诉你哥的电脑上就装了DOS,实体电脑,不是虚拟机!

@echo off & setlocal enabledelayedexpansion

echo please inpt 10 numes:

for /l %%i in (0,1,9) do set /p a%%i=

call :fun

for /l %%i in (0,1,9) do set /p = <nul !a%%i!

goto :eof

:fun

for /l %%j in (0,1,9) do (

for /l %%n in (%%j,1,9) do if !a%%n! lss !a%%j! set t=!a%%n!&set a%%n=!a%%j!&set "a%%j=!t!"

)

如果你的bat里的命令都是一句一行的,没有使用 %%i 之类的,那么用

system(one_line); 一句一句地执行就可以了。

如果 bat里 有循环语句,使用 %%i 之类的 例如

for %%i in () do ren %%i A%%i

就不能使用 system。

----------------

有一个办法可以考虑:

用 C语言 临时写一个 bat文件,立即运行,等几秒删去bat。

#include <stdioh>

#include<stdlibh>

#include<windowsh>

main()

{

FILE fp;

fp=fopen("xbat","w"); // 建bat文件

fprintf(fp,"echo off\n"); //内容

fprintf(fp,"for %%%%i in (k) do ren %%%%i A%%%%i \n"); //内容

fclose(fp);

system("start /wait /b xbat"); //执行 bat

Sleep(2000); // 等2秒

system("erase /F /Q xbat"); // 删去bat

return 0;

}

这个bat 把所有 k 开始的文件名,加一前缀 A

%%%% 写入bat 是 %% 噢

以上就是关于怎么用C语言让bat文件成功在DOS *** 作系统中运行全部的内容,包括:怎么用C语言让bat文件成功在DOS *** 作系统中运行、把c程序转换成bat程序、怎样把bat嵌入C语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10102299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存