[qh]该文件被选为MATLAB Central本周精选
返回下一个可用的文件名或文件夹名,通过递增编号后缀来创建名称。
有时可能需要在不知道或不需要特定数字序列的情况下保存文件,例如在保存大型计算期间的临时结果或备份时。使用内部计数器是一种选择,但是当已经存在具有这些名称的文件时,或者当代码停止和启动时,或者在计算时抛出错误时,这不起作用。该函数提供了一个简单的解决方案:使用所需的文件(或文件夹)名称、所需的后缀(包括起始整数)和文件扩展名(如果有的话)调用该函数,它将返回下一个未使用的名称。
请注意,与FEX上的其他提交不同,这个函数比较的是数字*值*,而不是文字文件名!这意味着如果“x1”或“x01”已经存在于指定位置,则不会得到“x001”。
%%输入%%
需要三个文本输入(可以是字符串标量或字符向量):
1.基本的文件或文件夹名,没有文件扩展名(如果有的话)。如果要检查现有文件的位置不是当前目录,则基本名称必须使用该位置的相对或绝对路径。
2.后缀,必须包含起始号码。后缀的一些例子有:'0','_1','(5)','.backup '。0001', '_temp_050'等。该后缀将被附加到文件/文件夹名称(在文件扩展名之前),并且该数字将递增,以确定从后缀中提供的数字开始的第一个未使用的名称。因此,后缀定义:
*起始值(可以是零或任何正整数,即0、1、2等)。
*输出数字的最小长度(根据需要使用前导零)。
*任何文字字符。
3.文件扩展名,如果需要的话。对于没有扩展名的文件夹和文件,请使用“”或“”。
%%示例%%
%%%当前目录包含文件A1。米”、“A2。' m'和'A4.m':
> > nextname (' A ', ' 1 ', ' m ')
ans = ' 3.m'
> > nextname (' A ', ' 001 ', ' m ')
ans = 'A003.m'
%%%子目录'HTML'包含文件夹'B(1)', 'B(2)'和'B(4)':
> > nextname(“HTML \ B”、“(1)”,”)
ans = 'B(3)'
> > nextname(“HTML \ B”,“(001)”,”)
ans = 'B(003)'
> > nextname(“HTML \ B”、“(1)”、“假)%默认=名字。
ans = 'B(3)'
>> nextname('HTML\B','(1)', ",true) %前缀与输入名称相同的路径。
ans = 'HTML\B(3)'
* * * * *
Stephen23(2023)。下一个可用文件名(//www.ru-cchi.com/matlabcentral/fileexchange/64108-next-available-filename), MATLAB中央文件交换。@ # @.