如:参数是1和a
c:\aaa.exe
1
a
如果你的bat里的命令都是一句一行的,没有使用 %%i 之类的,那么用system(one_line) 一句一句地执行就可以了。
如果 bat里 有循环语句,使用 %%i 之类的 例如
for %%i in (*) do ren %%i A%%i
就不能使用 system。
----------------
有一个办法可以考虑:
用 C语言 临时写一个 bat文件,立即运行,等几秒删去bat。
#include <stdio.h>
#include<stdlib.h>
#include<windows.h>
main()
{
FILE *fp
fp=fopen("x.bat","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 x.bat") //执行 bat
Sleep(2000)// 等2秒
system("erase /F /Q x.bat") // 删去bat
return 0
}
这个bat 把所有 k 开始的文件名,加一前缀 A
%%%% 写入bat 是 %% 噢
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)