Loops 在每个循环中更改的不同文件夹中创建文件

Loops 在每个循环中更改的不同文件夹中创建文件,loops,fortran,filenames,directory,Loops,Fortran,Filenames,Directory,我有一个循环,每次我在主目录中写入一个文件时,它的名称都会随着循环变量而改变。例如,用于循环 do i=1,10 我在文件test1.out、test2.out、…、test10.out中创建和写入数据 我现在想做的是:我想有第二个循环(例如,doj=1,5),并将上面的文件存储在主目录中已经存在的5个不同文件夹中。事实是,对于每个j,testi.out文件的内容都在变化,因此我希望将它们收集到特定的文件夹中 我当前的代码示例如下: do i=1,10 write(name, 14) '

我有一个循环,每次我在主目录中写入一个文件时,它的名称都会随着循环变量而改变。例如,用于循环

do i=1,10
我在文件
test1.out、test2.out、…、test10.out
中创建和写入数据

我现在想做的是:我想有第二个循环(例如,
doj=1,5
),并将上面的文件存储在主目录中已经存在的5个不同文件夹中。事实是,对于每个
j
,testi.out文件的内容都在变化,因此我希望将它们收集到特定的文件夹中

我当前的代码示例如下:

do i=1,10

  write(name, 14) 'test',iw,'.out'

  open(unit=70, file=name)

  write(70,*) 0.0

enddo

14  format (a10,i1,a4)
当我写第二行如下:

write(name, 14) 'folder1/test',iw,'.out'
然后在
文件夹1
中创建文件。我希望它位于另一个
循环(j=1,5)
,因此每次在文件夹
folder1、folder2、…、folder5中创建文件时

有什么想法吗?

提示(对于
i=1,9
):

注意:检查
格式
语句中的
i=10
。您需要不同的
格式
magic(
i0


注2:在Windows上,
\\
可以改为使用

我不明白是什么阻止了你自己编写外部循环。在我看来,您已经设法找出了如何在
i
循环的每次迭代中写入文件名的变体,是什么阻止了您为自己编写
j
循环?问题是,我希望在j循环的每次迭代中对文件夹名进行额外的变体。上面代码中的“end”应该是“end do”1.你说得对!不,OP不需要
trim
adjustl
,OP需要
i0
编辑描述符。文件名(test)前的“/”会产生错误。它说:“严重:找不到文件,单元70,文件…folder1\test1.out”。当我删除斜杠时,它会创建一个名为“folder1 test1.out”的文件,正如您所提到的,它已经更正了FORMAT语句。@HighPerformanceMark谢谢,这确实是一种更简单的方法。“OP”是什么意思?你在windows上吗?使用斜杠或“\\”表示感谢!!我解决了我的问题!!我在windows上,我正在使用/。
write(name, 14) 'folder',j,'/test',i,'.out'