-
2020-12-15 20:07:23
使用场景
需要建立一批文件夹或在所有子目录下建立指定三级文件夹
用途
快速建立指定文件夹
示例运行效果
在测试文件下的所有二级目录中分别建立1/2/3三个三级目录@echo off & title 批量给二级目录创建三级目录 cd /d "%~dp0" ::设置要处理的主文件夹路径 set Home= D:\测试 ::设置要创建的文件夹,多个文件夹之间用英文逗号隔开,名称中如有空格,请加英文双引号 set Folders=1,2,3 cd /d "%Home%" for /d %%a in (*) do ( for %%b in (%Folders%) do ( md "%%~a\%%~b" ) ) pause
bat文件生成方法
新建txt文件,输入内容,另存为.bat,编码格式选择ANSI格式,双击文件即可运行
更多相关内容 -
python实现移动二级目录下的文件到一级目录
2020-09-05 16:42:04当前文件夹结构: 目标文件夹结构 总体来说,就是desk分为nomal_desk、office_desk ··· ···,每个分类中是不同的类型的desk,现在需要把nomal_desk、office_desk ··· ···等不同类型的desk模型图片统一...当前文件夹结构:
目标文件夹结构
总体来说,就是desk分为nomal_desk、office_desk ··· ···,每个分类中是不同的类型的desk,现在需要把nomal_desk、office_desk ··· ···等不同类型的desk模型图片统一放在desk文件夹当中。代码如下:
import os import shutil # dir_path是初始文件夹路径 def move_all_files(dir_path): if os.path.exists(dir_path): # 初始文件夹路径存在,获取文件夹中的所有文件 path_list = os.listdir(dir_path) # 遍历所有文件 for each_path in path_list: # 如果当前文件是文件夹,对当前文件夹重新执行move_all_files方法 if os.path.isdir(dir_path+"\\"+each_path): src=dir_path+"\\"+each_path move_all_files(src) else: # 当前文件不是文件夹,获取文件后缀 file_type = os.path.splitext(each_path)[1] # 设置一个flag,标志当前文件类型和要移动的文件类型是否一致 selected = False # 如果一致或者没有给出指定类型,标志量为true if file_type == select_type or select_type == 'All': selected = True if selected: # 当前文件路径 src_file = dir_path + "\\" + each_path # 目标文件路径 des_file = des_pos + "\\" + each_path # 复制 shutil.copyfile(src_file, des_file) else: print ("指定路径不存在") # 初始文件夹所在位置 rootpath="C:\\Users\\Yi\\Desktop\\pic" # 目标文件夹所有位置 rootpath1="C:\\Users\\Yi\\Desktop\\newpic" # 二级目录中所有文件夹的名称 roomtypes=["bathroom","bedroom","child_room","dining_room","gym","kitchen","living_room","office"] # 三级目录中所有文件夹的名称 filetypes=["All","Interactive"] for roomtype in roomtypes: for filetype in filetypes: # 需要复制文件的文件夹位置 localpath = os.path.join(rootpath, roomtype, filetype) # 需要复制到的位置 targetpath = os.path.join(rootpath1, roomtype, filetype) files = os.listdir(localpath) for dir in files: give_pos = os.path.join(localpath, dir) des_pos = os.path.join(targetpath, dir) # All 或者 指定文件后缀名 select_type = 'All' # 创建目标文件夹 if not os.path.exists(des_pos): os.makedirs(rootpath1 + './' + roomtype + './' + filetype + './' + dir) # 移动文件 move_all_files(give_pos)
-
求一bat批处理命令,将第三级文件夹里的各种文件重命名为第一级文件夹的名字
2017-10-23 02:15:42rem 文件路径 set path=%%~ni for /f "delims=" %%j in ('dir /s /b /a:-d %%i\*.flv') do ( set full=%%~dpnxj set exten=%%~xj if /i "!isrun!"=="n" ( echo ren "!full!" "!path!!exten!" )... -
阿里云域名解析二级域名,通过.htaccess文件指向到对应的二级目录
2018-07-27 15:20:26例如:我的主域名是www.aabb.com(对应的是我公司官网页面),我需要解析一个新的二级域名join.aabb.com(用作添加公司招聘宣传页面所用) 一、先登录阿里云账户,到主域页面,然后选择你所需要解析的主域名,点击...亲身试验出来的结果,可供大家参考:
例如:我的主域名是www.aabb.com(对应的是我公司官网页面),我需要解析一个新的二级域名join.aabb.com(用作添加公司招聘宣传页面所用)
一、先登录阿里云账户,到主域页面,然后选择你所需要解析的主域名,点击“解析”进入下一个页面:
二、进入域名解析页面,进行二级域名解析 。点击添加记录,跳出以下模态框,进行添加选择,并确定完成;
然后返回查看二级域名解析状态;
三、新创建一个.htaccess文件,添加所需的二级目录文件指向:
可先暂时创建一个txt文档,添加下面的代码,进行内容修改,替换你所需要绑定的二级域名和二级目录,然后传到网站根目录下再将txt格式改成为后缀为.htaccess的文件。
(这里以之前的例子说明:主域名为www.aabb.com,解析的二级域名为join.aabb.com→即网站的前缀改变为join,我的二级目录文件夹为join,目录下面的首页为index.html)
#开启伪静态功能 RewriteEngine On #绑定所需的二级域名 RewriteCond %{HTTP_HOST} ^(www.)?join.aabb.com$ #绑定需指向的二级目录 RewriteCond %{REQUEST_URI} !^/join/ #下面两行不动 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #改为要绑定的二级目录 RewriteRule ^(.*)$ /join/$1 #绑定二级域名 RewriteCond %{HTTP_HOST} ^(www.)?join.aabb.com$ # join二级目录 后面是首页文件demo.html,join.html, index.html,index.php……(根据你的实际情况而定) RewriteRule ^(/)?$ join/index.html [L]
(注意:文件类型是.htaccess文件→把txt文件的后缀改掉就可以转换格式)
四、把二级域名绑定的文件(这里是名为join的文件夹)和.htaccess上传到服务器的根目录下
(我这里是通过ftp的方式上传文件,上传到htcdocs文件夹下)
上传成功(红色框内是刚上传的二级目录join文件夹和.htaccess文件,这里其余的是主域名下的文件)
五、最后在浏览器上输入二级域名,就可以访问到其对应的页面了。
-
如何把某一文件夹内所有文件的文件名读取到excel里面。(文件夹下面有二级目录和三级目录)
2019-02-13 10:40:27该文件夹是在共享盘里面,没有新增修改权限,所以创建bat文件执行的办法用不了的。 共享盘的话,直接cd 指定目录的话,是不会切换路径的的。 ![图片说明]... -
操作系统课程设计之二级文件系统演示
2016-01-27 11:06:26操作系统课程设计之二级文件系统演示,纯手工编写,思维不算严谨,但对于课设而言,应该是够了,希望对大家有所帮助,也希望读者能给些意见,谢谢!!!其实,刚拿到这个题目时,我真的没有思路,随后我就对着老师的课设指导书进行研究,对二级文件系统的演示这个课题的每个要求进行分析,总算是有了思路。下面给出我的分析。
文件系统演示
一、课程设计目的
使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。
//既然是基于控制台的,我们可以更改颜色玩玩
二、课程设计内容
设计一个简单的多用户文件系统。即 //和后面一样,用结构体数组实现
①在系统中用一个文件来模拟一个磁盘; //switch语句或者if-else语句实现,既然这里说到了 用一个文件去模拟一个磁盘,换句话说,在你的课设里,必须要有磁盘空间分配的思路在里面,不然就不是模拟磁盘了。
②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。 //文件系统要实现
④能实际演示这个文件系统。//cmd演示即可
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
三、课程设计指导
1)设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 //三个数组的大小分别为 10、10、5
//一次运行用户最多可以打开5个文件如何实现? 在用户文件里面加变量判断,用户每打开一个就+1,
//每次用户最多可保存10个文件如何实现? 很明显,同时保存我们是无法做到的,无论是谁,都无法做到,也就是说还是一个个保存的,那么同样可以设置变量判断。如果保存的较多,那么只好请用户单独关闭某些指定的文件。
2)程序采用二级文件目录(即设置主目录MFD)和用户文件目录(UFD)。另外,为打开文件设置了运行文件目录(AFD)。 //存放各个用户目录的文件夹、用户目录
//是说运行的所有文件用一个目录层次表示吗
3)为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 //整型的变量判断是否读写完成了 下面的pointer
4)因系统小,文件目录的检索使用了简单的线性搜索。 //链表的顺序查找
5)文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 //标记变量即可实现
6)程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD),打开文件目录(AFD)即运行文件目录,如图5.1所示。//主要的结构体设计
还有MFD、UFD、AFD最好全部存到文件里面去,不然每次都要输入,十分麻烦,而且不能通过看文件 查看到自己的实验现象,着实不便。
参考的数据结构设计如下
struct TYPE_UFD //用户文件目录
{
string File_Name; //文件名
bool Read; //读保护码,true为可读
bool Write; //写保护码,true为可写
bool Execute; //执行保护码,true为可执行
int Length_File; //文件长度
}; //用户文件目录和用户打开的文件目录是不是都各有自己的属性
struct TYPE_MFD //主文件目录
{
string User_Name; //用户名
TYPE_UFD *Pointer; //用户文件目录指针
};
//很明显,第三个结构体没有指针域,但我们是需要指针域的,还有下面红色部分可以合在一个整型变量里面的
struct TYPE_AFD //打开文件目录
{
int File_ID; //打开的文件号
boolRead;//读保护码,true为可读
boolWrite;//写保护码,true为可写
boolExecute;//执行保护码,true为可执行
int Pointer; //读写指针
};
7)文件系统结构如图5.2所示
//很明显,这里要用到的数据结构是 链表
8)文件系统算法的流程图如图5.3所示。
图5.3文件系统算法的流程图
//这里告诉了你 main函数的主要调用的函数顺序
9)注意对于物理块的访问(包括访问指针,空闲位)需要经过输入输出,相当于通过定位对文件进行读写。打开文件目录(AFD)是在内存中,由打开文件时创建。
好了,分析完了,就要开始编写代码了,下面附上我小小的代码,还有很多需要修改的地方,做的不好的地方,大神就请原谅,也希望多多指点我。
先附上效果图:
头文件部分: #include<cmath> #include<ctime> #include<string> #include<conio.h> #include<fstream> #include<cstdlib> #include<iostream> #include<windows.h> using namespace std; typedef struct UFD { string File_name; //文件名 int Start; //文件在磁盘存储空间的起始地址 int Protect; //文件的属性 int File_length; //文件的长度 int Max_File_length; //文件的最大长度 struct UFD *next; }UFD,*UFD_ptr; typedef struct MFD { string User_name; string User_passwd; UFD *Ufd_next; int End; struct MFD *next; }MFD,*MFD_ptr; typedef struct AFD { string File_name; int File_length; int Start; int Protect; int Pointer; //根据这个指针的值去完成用户的要求 读写指针 int Max_File_length; struct AFD *next; }AFD,*AFD_ptr; 源文件部分: #include"os_fss.h" #define MaxDisk 512*1024 //一个扇区512字节,假设有1024个扇区,模拟磁盘的大小 int Max_User=10; int Max_Open=5; int Max_End=0; UFD_ptr pufd=NULL; MFD_ptr pmfd=NULL; AFD_ptr pafd=NULL; char User_name[30]; //存放当前用户的用户名 char flag='n'; char Disk_Size[MaxDisk]; //最后在打印输出的时候,用RWX表示即可 typedef struct Disk_Table { int Max_length; //最大长度 int Start; //开始位置 }Disk_Node; Disk_Node Disk_Head; void Init_Disk() { Disk_Head.Max_length=MaxDisk; Disk_Head.Start=0; } bool Init_MFD() { pmfd=(MFD *)new MFD; //带头节点的单向链表 MFD *p=pmfd; ifstream ifs("MFD.txt"); //文件的输入流对象 if(!ifs) { cerr<<"错误:无法打开文件"<<endl; p->next=NULL; p->Ufd_next=NULL; return false; } while(!ifs.eof()) { p->next=(MFD *)new MFD; ifs>>p->next->User_name>>p->next->User_passwd>>p->next->End; if(p->next->End>Max_End) Max_End=p->next->End; p=p->next; p->Ufd_next=NULL; p->next=NULL; } ifs.close(); return true; } void Print_UFD() { UFD *p=pufd->next; if(!p) { cout<<"抱歉,该用户没有创建任何文件,请先创建!!!"<<endl; return ; } cout<<"文件名\t\t最大文件长度\t文件权限\t起始位置\t文件长度"<<endl; while(p) { cout<<p->File_name<<"\t\t"<<p->Max_File_length; if(p->Protect==0) cout<<"\t\t"<<"---"; else if(p->Protect==1) cout<<"\t\t"<<"r-x"; else if(p->Protect==2) cout<<"\t\t"<<"rwx"; cout<<"\t\t"<<p->Start; cout<<"\t\t"<<p->File_length<<endl; p=p->next; } } bool Init_UFD(char *name) { ifstream ifs(name); pufd=(UFD *)new UFD; UFD *p=pufd; char temp[MaxDisk]; bool Index=false; if(!ifs) { cerr<<"错误:无法打开文件"<<endl; p->next=NULL; return false; } while(!ifs.eof()) { memset(temp,'\0',sizeof(temp)); p->next=(UFD *)new UFD; if(!Index) { pmfd->Ufd_next=p->next; Index=true; } ifs>>p->next->File_name>>p->next->Max_File_length>>p->next->Protect>>p->next->Start>>p->next->File_length; ifs>>temp; if(temp[0]=='#') temp[0]='\0'; for(int i=p->next->Start,j=1;j<=p->next->Max_File_length-1;i++,j++) { Disk_Size[i]=temp[j-1]; if(!Disk_Size[i]) break; } Disk_Head.Max_length-=p->next->Max_File_length; // Disk_Head.Start+=p->next->Max_File_length; p=p->next; p->next=NULL; } ifs.close(); return true; } void Rename_File() { string File_name; UFD *temp=pufd; char Index; SD: cout<<"请输入文件的名字:"<<endl; cin>>File_name; while(temp) { if(temp->File_name==File_name) { cout<<"请输入新的文件名:"<<endl; cin>>File_name; temp->File_name=File_name; break; } temp=temp->next; } if(!temp) { cout<<"抱歉,输入的文件不存在,无法完成重命名文件操作,是否继续操作<y/n>?"<<endl; cin>>Index; if(Index=='y') goto SD; else return ; } else cout<<"修改成功!!!"<<endl; } bool User_Check() { string User_passwd; int Count=0; while(1) { cout<<"请输入用户名:"; cin>>User_name; INIT: cout<<"请输入密码:"; cin>>User_passwd; MFD *p=pmfd->next; char temp[30]; memset(temp,'\0',sizeof(temp)); strcpy(temp,User_name); Count++; while(p) { if(User_name==p->User_name) { if(User_passwd==p->User_passwd) cout<<"登入成功."<<endl; else { cout<<"抱歉,密码错误,登陆失败,请重新输入!!!"<<endl; if(Count==3) { cout<<"密码错误次数过多,系统运行结束!!!"<<endl; return false; } goto INIT; } strcat(temp,".txt"); Init_UFD(temp); // Print_UFD(); Disk_Head.Start=Max_End; return true; } p=p->next; } cout<<"用户名不存在,请重新输入!!!"<<endl; } // return false; } void Init_AFD() { pafd=(AFD *)new AFD; pafd->next=NULL; } bool Create_MFD()//创建文件命令 { string User_name; char User_passwd[30]; MFD *p = pmfd; cout<<"请输入要创建的用户名: "; cin>>User_name; cout<<"请输入"<<User_name<<"用户的密码:(默认为:admin)"; getchar(); cin.getline(User_passwd,30); if(User_passwd[0]=='\0') strcpy(User_passwd,"admin"); while(p) { if(User_name==p->User_name) { cout<<"此用户名已存在!!!"<<endl; return false; } if(!p->next) break; p= p->next; } p->next = (MFD *)new MFD; //尾插法 p=p->next; p->User_name=User_name; p->User_passwd=User_passwd; p->End=0; p->next = NULL; p->Ufd_next = NULL; Max_User--; return true; } //应该是 不同的用户下的UFD文件名是不一样的啊,怎么出问题了 bool Create_UFD()//创建文件命令 { string File_name; UFD *p = pufd; unsigned int Protect; int Max_File_length; // AFD *pa = pafd; cout<<"请输入要创建的文件名: "; cin>>File_name; cout<<"请输入要创建的文件保护类型:"; cin>>Protect; cout<<"请输入文件的最大容量:"<<endl; cin>>Max_File_length; while(p) { if(File_name==p->File_name) { cout<<"此文件名已存在!!!"<<endl; return false; } if(!p->next) break; p= p->next; } p->next = (UFD *)new UFD; //尾插法 p=p->next; p->File_name=File_name; p->Max_File_length=Max_File_length; p->Start=Disk_Head.Start; p->Protect = Protect; // p->Time_info= //暂定 p->File_length = 0; //刚创建文件时,文件是空的 Disk_Head.Start+=Max_File_length; p->next = NULL; //我觉得这部分代码有问题;用户创建了一个文件并不代表该文件就被打开了 return true; } bool Delete_UFD() //关于主目录的用户文件夹的文件删除-->先这样写,好吧 //如果文件已经打开了,是不能删除的 { string File_name; cout<<"请输入要删除的文件名:"; cin>>File_name; UFD *p=pufd,*temp; AFD *pa=pafd; while(pa->next) { if(File_name==pa->next->File_name) { cout<<"抱歉,该文件已被打开,请先关闭,再进行删除操作!!!"<<endl; return false; } } while(p->next) { if(File_name==p->next->File_name) { temp=p->next; p->next=p->next->next; //如果说要回收模拟的磁盘空间的话,应该是回收最大长度 // Disk_Head.Max_length+=temp->Max_File_length; //链表中删除了,其他的文件内容的起始位置不变即可,又没事,还是照样可以访问数据的嘛 delete temp; cout<<"文件删除成功!!!"<<endl; return true; } p=p->next; } cout<<"抱歉,要删除的文件不存在!!!"<<endl; return false; } bool Open() { string File_name; unsigned int Protect; cout<<"请输入要打开的文件名:"; cin>>File_name; UFD *p=pufd->next; AFD *pa=pafd->next; while(pa) { if(File_name==pa->File_name) { cout<<"文件"<<File_name<<"已经打开!!!"<<endl; return true; } if(!pa->next) break; pa=pa->next; } if(!pa) //如果找不到,或者打开的文件目录链表为空表 pa=pafd; while(p) { if(File_name==p->File_name) { if(!Max_Open) { cout<<"抱歉,最多只能打开5个文件,请先关闭其他打开的文件再操作!!!"<<endl; return false; } if(p->Protect==0) { cout<<"抱歉,此文件不可执行任何操作!!!"<<endl; return false; } cout<<"请选择以什么样的方式打开文件<1-只读,2-可读可写>:"; cin>>Protect; pa->next=(AFD *)new AFD; pa=pa->next; pa->File_name=p->File_name; pa->Start=p->Start; pa->File_length=p->File_length; pa->Max_File_length=p->Max_File_length; pa->Protect=Protect; if(Protect==1) pa->Pointer=0; //Poniter取0表示此时用户无法写数据(没有空间的含义) else pa->Pointer=p->File_length; pa->next=NULL; Max_Open--; cout<<"文件"<<File_name<<"已经打开!!!"<<endl; return true; } p=p->next; } cout<<"抱歉,要打开的文件不存在!!!"<<endl; return false; } void Close() { string file_name; UFD *pu=pufd->next; cout<<"请输入要关闭的文件名:"; cin>>file_name; AFD *p=pafd,*temp; while(p&&p->next) { if(file_name==p->next->File_name) { temp=p->next; p->next=p->next->next; if(temp->Protect==2) //可写的文件才有权把新写入的数据也保存起来嘛 { while(pu) { if(temp->File_name==pu->File_name) { pu->File_length=temp->Pointer; break; } pu=pu->next; } } delete temp; cout<<"文件"<<file_name<<"关闭成功!!!"<<endl; return ; } p=p->next; } cout<<"抱歉,要关闭的文件没有被打开!!!"<<endl; } bool Read_File() //因为读写都是通过修改运行文件目录的Pointer去模拟的嘛 { string File_name; //你要读文件的话,你这文件肯定得在运行/打开文件目录里面,是吧 unsigned int length; AFD *p=pafd->next; cout<<"请输入要读的文件名:"; cin>>File_name; cout<<"请输入要读取的长度:"; //读取的话,实际中文件的长度并不会改变 cin>>length; //即读取的长度并不能保存回去,为了方便(如果用户是读数据的话,pointer始终不变) while(p) { if(File_name==p->File_name) { for(int i=p->Start,j=1;j<=length;i++,j++) cout<<Disk_Size[i]; cout<<endl; cout<<"文件"<<File_name<<"读取成功!!!"<<endl; return true; } p=p->next; } cout<<"读取失败,文件没有打开过!!!"<<endl; return false; } bool Write_File() //写的话,自然是运行文件目录 { string File_name; unsigned int length; AFD *p=pafd->next; char temp[MaxDisk]={'\0'}; cout<<"请输入要写的文件名:"; cin>>File_name; while(p) { if(File_name==p->File_name) { if(p->Protect!=2) { cout<<"文件"<<File_name<<"不可写"<<endl; return false; } cout<<"请输入要写入的长度:"<<endl; cin>>length; if(p->Pointer+length<=p->Max_File_length) { cout<<"请写入指定长度的内容:<以回车作为结束符>"<<endl; getchar(); gets(temp); for(int i=p->Start+p->File_length,j=1;j<=strlen(temp);i++,j++) Disk_Size[i]=temp[j-1]; p->Pointer += length; cout<<"文件"<<File_name<<"写入成功!!!"<<endl; } else { cout<<"欲写入的数据大小发生溢出,已超过文件的分配容量,写入失败!!!"<<endl; return false; } return true; } p=p->next; } cout<<"写入失败,文件没有打开过!!!"<<endl; return false; } void Destroy_Space() { MFD *pm=pmfd; while(pm) { pmfd=pmfd->next; delete pm; pm=pmfd; } AFD *pa=pafd; while(pa) { pafd=pafd->next; delete pa; pa=pafd; } UFD *pu=pufd; while(pu) { pufd=pufd->next; delete pu; pu=pufd; } } void Save_MFD() { ofstream ofs; //文件的输出流对象 ofs.open("MFD.txt"); if(!ofs.is_open()) { cout<<"The MFD can't open!!!"<<endl; if(flag=='y') cout<<"正在保存主目录用户名信息..."<<endl; else ofs.close(); //该语句待定 } MFD *p=pmfd->next; while(p) { if(p->User_name==User_name) p->End=Disk_Head.Start; ofs<<p->User_name<<" "<<p->User_passwd<<" "<<p->End; if(p->next) ofs<<"\n"; p=p->next; } ofs.close(); } void Save_UFD(char *name) { ofstream ofs; //文件的输出流对象 char temp[MaxDisk]={'\0'}; ofs.open(name); if(!ofs.is_open()) { cout<<"The "<<name<<"文件 can't open!!!"<<endl; ofs.close(); //该语句待定,这语句真的用的很妙,因为我并没有马上退出这次函数调用了 } UFD *p=pufd->next; while(p) { memset(temp,'\0',sizeof(temp)); for(int i=p->Start,j=1;j<=p->Max_File_length;i++,j++) { if(Disk_Size[i]) temp[j-1]=Disk_Size[i]; else break; } if(!temp[0]) //如果文件没有数据的话,就用空格表示此文件没有任何内容 temp[0]='#'; ofs<<p->File_name<<" "<<p->Max_File_length<<" "<<p->Protect<<" "<<p->Start<<" "<<p->File_length<<" "<<temp; if(p->next) ofs<<"\n"; p=p->next; } ofs.close(); } void Quit_System() { AFD *pa=pafd->next; UFD *pu=pufd->next; while(pa) { if(pa->Protect==2) //2表示可写 //1表示只读 //0表示不可操作 { while(pu) { if(pa->File_name==pu->File_name) { pu->File_length=pa->Pointer; break; } pu=pu->next; } } pa=pa->next; } char temp[30]; strcpy(temp,User_name); strcat(temp,".txt"); Save_MFD(); Save_UFD(temp); Print_UFD(); Destroy_Space(); } void Print_Help() { system("color 0b"); cout<<"************************二级文件系统演示*************************"<<endl; cout<<"*\t\t命令 说明 *"<<endl; cout<<"*\t\tlogin 登录系统 *"<<endl; cout<<"*\t\tcreate 创建文件 *"<<endl; cout<<"*\t\tdelete 删除文件 *"<<endl; cout<<"*\t\topen 打开文件 *"<<endl; cout<<"*\t\tclose 关闭文件 *"<<endl; cout<<"*\t\tread 读取文件 *"<<endl; cout<<"*\t\twrite 写入文件 *"<<endl; cout<<"*\t\tls 显示目录 *"<<endl; cout<<"*\t\trename 重命文件 *"<<endl; cout<<"*\t\thelp 帮助菜单 *"<<endl; cout<<"*\t\tcls 清除屏幕 *"<<endl; cout<<"*\t\tlogout 切换用户 *"<<endl; cout<<"*\t\tquit 退出系统 *"<<endl; cout<<"*****************************************************************"<<endl; } void System_Init() { Start: Print_Help(); Init_Disk(); if(!Init_MFD()) { int num; cout<<"主目录还未创建,是否创建<y/n>!!!"<<endl; cin>>flag; cout<<"请输入欲创建的用户文件夹的个数(1-10):"<<endl; cin>>num; if(flag=='y') { while(num--) { Create_MFD(); if(!Max_User) { cout<<"本系统,最多支持10个用户,创建多余用户失败,请删除其他用户,再做尝试!!!"<<endl; return ; } } Save_MFD(); cout<<"主目录已经创建完成,用户各自目录已得到保存,是否继续<y/n>!!!"<<endl; cin>>flag; if(flag=='y') goto Start; } } return ; } void File_System() { while(1) { string Command; cout<<"请输入命令:"; cin>>Command; if(Command=="create") Create_UFD(); else if(Command=="delete") Delete_UFD(); else if(Command=="open") Open(); else if(Command=="close") Close(); else if(Command=="read") Read_File(); else if(Command=="write") Write_File(); else if(Command=="quit") { Quit_System(); break; } else if(Command=="ls") Print_UFD(); else if(Command=="cls") system("cls"); else if(Command=="login") { if(!User_Check()) break; Init_AFD(); } else if(Command=="rename") Rename_File(); else if(Command=="logout") { cout<<"用户登出成功!!!"<<endl; Quit_System(); System_Init(); File_System(); } else Print_Help(); } } int main() //我保存,我不能连我的指针域也保存啊,这是不对的吧 { System_Init(); File_System(); return 0; }
-
计算机一级试题中上网部分怎么保存文件
2021-07-09 01:05:38第三步:依次点菜单:文件——另存为,在弹出的对话框中,选择题目指的保存路径,保存类型选择“纯文本文件”,点保存即可。注意:要对文件名以及保存格式进行修改。这样就保存成功了。扩展资料:全国计算机等级考试... -
实例1:python读取文件夹里的文件
2021-03-25 13:35:00实例1:python读取文件夹里的文件 -
linux查看某文件夹下各个文件大小
2022-04-28 20:59:33例如,我想查看 /app 下各个文件的大小, cd /app du -h --max-depth=0 * 解释:cd /app : 进入 ...依次类推,如果改成 2 ,则可以查看一级子文件夹、一级子文件、二级子文件夹、二级子文件的大小,、三级子文件夹、 -
一款极致的文件对比工具——Beyond Compare,适用于Windows、macOS和Linux的文件和文件夹比较
2022-03-11 09:33:01Beyond Compare是一款,不可多得的专业级,文件夹和文件对比工具,产品可以很方便地对比出,两个文件夹或者文件的不同之处,并把相差的每一个字节,用颜色加以表示,查看方便 -
二、全国计算机二级Python考试——基本操作题(一)
2021-03-30 01:15:441. 考生文件夹下存在-一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,诚号字符填充,右对齐,带千位分隔符。如果输入正整数... -
Flutter开发之——文件及文件夹操作
2021-05-27 10:46:51一 概述 文件夹操作(创建、遍历、重命名、删除) 文件操作(创建、数据写入、读取数据、删除文件) json文件数据读取 ...三 文件夹操作(创建、遍历、重命名、删除) 3.1 创建文件夹 _createDir() async -
三、全国计算机二级Python考试——基本操作题(二)
2021-03-30 01:33:10只收录了2020年3月计算机二级Python考试之前的12套操作题,后续更新的题目不在文章的内容之中。 11.在考生文件夹下有个文件PY101.py,在横线处填写代码,完成如下功能。接收用户输入的一一个大于10小于10的8次方的... -
Serv―U 三级用户权限机制及配置一例
2021-07-17 03:12:23摘要:单位局域网内用SERV-U安装FTP服务器,架设信息共享平台,可避免大量的U盘拷贝和节省许多纸张打印,是信息化办公的有效手段之一。搞清楚SERV-U的权限配置机制,合理进行用户权限配置是用SERV-U安装FTP服务器的... -
python里读取文件路径上一级路径及文件的方法
2018-06-12 10:56:11一、获取当前文件路径二、获取上一级文件路径这里可以想象出获取与自己同级文件的路径,这么写:即先获取上级目录,然后通过join函数来把同级的目录test拼进来。三、获取当前路径下的所有文件名得到的是一个列表的... -
计算机一级操作题详解
2021-07-13 00:41:54一、Windows基本操作(共5分)(1)在Winkt文件夹下建立TestA文件夹。右击鼠标,新建,文件夹,输入文件夹名称。(2)在Winkt文件夹范围内查找“game.exe”文件,并在TestA文件夹下建立它的快捷方式,名称为“游戏”。打开... -
Antd如何用Menu组件渲染二级或三级目录
2019-05-11 17:53:37今天给大家带来React项目结合Antd的时候如何渲染二级菜单 就算你用其他的UI框架也是换汤不换药。 1.首先配置Antd,关于配置Antd请前往React配置Antd处观看。 2.然后在routes文件定义你的sidebar数据 其中有一个... -
未来教育计算机二级office题库
2021-06-17 03:38:29下面是小编整理的关于计算机二级office题库,欢迎大家参考!二、字处理题(共30分)1[简答题]请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。注意:以下的文件必须都保存在考生文件夹下... -
四、全国计算机二级Python考试——基本操作题(三)
2021-03-30 02:06:58只收录了2020年3月计算机二级Python考试之前的12套操作题,后续更新的题目不在文章的内容之中。 21. 在考生文件夹下有个文件PY102.py,在横线处填写代码,完成如下功能。社会平均工作时间是每天8小时(不区分工作日... -
Vue + ElementUI 后台管理系统实现顶部一级菜单栏,左侧多级菜单栏(二级、三级等)
2021-04-23 16:54:09一、目的 接之前的一篇博客文章,https://blog.csdn.net/weixin_41856395/article/details/110441057 Vue + ElementUI 后台管理系统实现顶部一级菜单栏,左侧二级菜单栏。 -
2021年计算机一级Ms Office试题(总)
2021-07-17 00:59:49真正成功的考生,不在于成绩的多少,而在于你是否努力地去实现自我、努力地去刷一级Ms Office试题,喊出自己的声音,走出属于自己的道路。一级Ms Office试题【1】1)世界上公认的第1台电子计算机诞生的年份是A)1943B)... -
Matlab文件夹、文件、读取操作(汇总)
2022-04-01 13:52:38【转载】Matlab文件夹、文件、读取操作(汇总) 一、 matlab对路径的操作 filesep用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux是斜杠(/)。 fullfile用于将若干字符串连接成一个完整的路径。例如: f=... -
Linux命令zip:压缩文件夹时,排除指定文件或文件夹
2020-10-12 18:06:44三级目录有music文件夹、photo文件夹、txt1.txt文件、txt2.txt文件 music文件夹下有music1.txt文件、music2.txt文件 photo文件夹下有photo1.txt文件、photo2.txt文件 如图: 需求:(当前我处于chaochao目录,... -
Centos7下创建文件夹 移动文件/文件夹 删除文件/文件夹 解压/文件夹打包压缩 命令整理
2020-11-05 15:44:26一、创建文件夹 1、创建本目录下文件夹 mkdir dir 2、创建其他目录下文件夹 mkdir dir/file ...三、查看文件夹/文件 1、cd dir 2、cd dir/dir1 3、回到主目录 cd ~ 4、查看目录下内容 ll (或者ls) -
找回玩家账号和二级密码,修改密码和密保
2021-08-06 10:40:16原标题:找回玩家账号和二级密码,...其他引擎未必有里面提到的功能,比如二级密码,有的引擎是记录在文本里面,而不是变量,兄弟们要学会活学活用,帮主无保留。图文教程1、玩家忘记了账号密码、只记得游戏角色名称... -
用一条SQL语句查询顶级文件夹及其下级文件夹数目和下级文件数目
2018-03-21 10:34:49用一条SQL语句查询顶级文件夹及其下级文件夹数目和下级文件数目。文件夹表FOLDER,SUPID字段是上级文件夹ID,为0表示是顶级文件夹,如下:-- ------------------------------ Table structure for FOLDER-- --------... -
如何批量删除多个不同路径的文件但又保留文件夹呢
2020-07-04 15:26:002、然后打开工具,使用文件批量复制的模块,勾选“复制时先清空…”的选项,注意,第一栏“要复制的文件和文件夹”里面为空,这样就想相当于把空气(嘿嘿)复制过去,后面出现提示就点确定就行了 4、最后就行了 ... -
浙江省计算机办公二级新增试题(word、Excel)
2021-07-06 05:13:44一、word部分1、在考生文件夹下Paper子文件夹中,建立主控文档Main.doc,按序创建子文档Sub1.doc和Sub2.doc。要求:1)Sub1.doc中第一行内容为“Sub1”,第二行内容为文档创建的日期(使用域,格式不限),样式均为... -
win10系统word2019显示目录只显示部分一级二级解决办法
2020-12-02 23:06:40描述:win10系统word2019显示目录只显示部分一级二级解决办法 步骤: 引用->目录->自定义目录 目录->显示级别->选择想要显示到的级别->确认