Goodday,我有脚本,循环目录中的所有文件,但我需要隐藏控制台,同时以这种方式循环它们。这是脚本的一部分:
#include <iostream>
#include <fstream>
#include <Windows.h>
using namespace std;
int GetFilesInDirectory(const char * dir,string dest[],unsigned int max){
string loc=dir;
int ctr=0;
if(loc.length()>2)
if(loc.substr(loc.length()-2,1)=="\\")
loc=loc.substr(0,loc.length()-1);
string opcommand;
string delcommand;
if(loc.length()>2){
opcommand="cd "+(loc)+" && dir /s /b /a > tmpfile.cpptmp";
delcommand="cd "+(loc)+" && del tmpfile.cpptmp";
} else {
opcommand="dir /s /b /a > tmpfile.cpptmp";
delcommand="del tmpfile.cpptmp";
}
system(opcommand.c_str());
ifstream f;
string line;
string fileloc;
if(loc.length()>2)
fileloc=(loc)+"\\tmpfile.cpptmp";
else fileloc="tmpfile.cpptmp";
f.open(fileloc,ios::binary);
while(f.good()){
getline(f,line);
if(line.length()>1&&ctr<max){
dest[ctr]=line;
ctr++;
}
}
f.close();
system(delcommand.c_str());
return ctr;
}
int main() {
FreeConsole();
const unsigned int filescountmax=16184;
string files[filescountmax];
int count=GetFilesInDirectory("\\",files,filescountmax);
string ext;
for(int i=0;i<count;i++){
//some script
}
}
当进程启动时,它会自行隐藏它,但之后它会显示 cmd.exe,它会自行关闭它。顺便说一句,我知道还有其他方法可以循环目录中的文件,但这是循环子目录和子目录的子目录等中的文件的最简单方法。你能帮我吗?