| 老师们好,学生有一些关于批量生成文件上的问题想请老师们指点下 下面是我正在学习的源代码
 这个代码运行后是在根目录下生成1-100编号的文件夹
 我想把它变成每次运行只生成一个文件夹,每运行一次就先看是否有重名文件夹存在,有的话不要覆盖原来的,而是生成重名文件夹名+1的名字。
 比如运行第一遍,根目录只产生第1号文件夹,第二遍是第1,2号两个文件夹,第三遍就是1,2,3号文件夹,以此类推
 最终根目录下有100个文件夹
 但它们是在每次运行程序下依次生成的,而不是一次性生成
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode 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’这两个,我也不明白他们的具体用法,也请老师们帮忙解惑,麻烦老师们了
 
 |