老师们好,学生有一些关于批量生成文件上的问题想请老师们指点下
下面是我正在学习的源代码
这个代码运行后是在根目录下生成1-100编号的文件夹
我想把它变成每次运行只生成一个文件夹,每运行一次就先看是否有重名文件夹存在,有的话不要覆盖原来的,而是生成重名文件夹名+1的名字。
比如运行第一遍,根目录只产生第1号文件夹,第二遍是第1,2号两个文件夹,第三遍就是1,2,3号文件夹,以此类推
最终根目录下有100个文件夹
但它们是在每次运行程序下依次生成的,而不是一次性生成
[Fortran] 纯文本查看 复制代码 program new_file_piliang
use DFPORT
implicit none
integer :: ierr
integer :: ffn, fn,ifID !前两项分别对应文件夹名称,文件名称
character(len = 50) :: fileFolderName
character(len = 50) :: fileName
do ffn = 1,100,1
write(fileFolderName,*) ffn
fileFolderName = ".\"//trim(adjustl(fileFolderName))//"_txt" !文件夹路径
ierr = system("md "//trim(fileFolderName))!这一行必须要有,没有则无法新建
end do
end program new_file_piliang
!>>>>>>>>>我也查到了一个每次查看是否存在重名txt文件的程序,有则在基础上新建一个txt<<<<<<<
PROGRAM MAIN
CHARACTER(LEN=80) :: FILENAME,FORM
INTEGER :: I
logical :: exist
integer :: p
exist = .TRUE.
I = 0
DO WHILE (exist)
SELECT CASE (I) !选择合适的后缀号码
CASE (0:9)
WRITE(FORM,'(I1)') I
CASE (10:99)
WRITE(FORM,'(I2)') I
CASE (100:999)
WRITE(FORM,'(I3)') I
CASE (1000:9999)
WRITE(FORM,'(I4)') I
END SELECT
WRITE(FILENAME,*) ".\scalar",TRIM(FORM),'.txt' !给文件名赋值为scalar+号码+格式
INQUIRE(directory=FILENAME,exist=exist) !再查询是否存在
I = I + 1 !若存在,号码再加1
END DO
END PROGRAM
!>>>>>但不知这两二者该如何结合,或者如果有能更好解决我这个问题的方法,还请各位老师们不吝赐教
还有就是关于‘md’和‘cd’这两个,我也不明白他们的具体用法,也请老师们帮忙解惑,麻烦老师们了
|