Matlab发布-想要使用自定义文件名发布多个pdf文件

标签 matlab pdf rename publish

我有几个数据日志文件(此处:34),用于那些我必须计算某些特定值的文件。我编写了一个单独的函数来将计算结果发布在 pdf 文件中。但我只能发布一个又一个文件,所以需要一段时间才能发布所有 34 个文件。

现在我想通过一个循环来自动化该操作 - 导入数据、计算值并将每个日志文件的结果发布到新的 pdf 文件中。我想要每个日志文件最后都有 34 个 pdf 文件。

我的问题是,我找不到在发布过程中重命名 pdf 文件的方法。 pdf 文件始终以计算值的脚本命名。显然,pdf 在循环内被覆盖。所以最后一切都被计算出来了,但我只有最后计算的日志文件中的pdf。


有一个黑客解决方案可以更改 Matlab 发布脚本,但由于我没有管理员权限,所以无法使用它:

“这确实很hacky,但我会修改发布以接受新的选项前缀。替换第93行

[scriptDir,prefix] = fileparts(fullPathToScript);

if ~isfield(options, 'prefix')
    [scriptDir,prefix] = fileparts(fullPathToScript); 
else
    [scriptDir,~] = fileparts(fullPathToScript);
    prefix = options.prefix; end

现在您可以将 options.prefix 设置为您想要的任何文件名。如果您想成为真正的硬核,请对 SupplyDefaultOptions 和 checkOptionFields 进行适当的修改。”

有什么建议吗?

提前致谢, 马丁

最佳答案

这是一个使用 movefile 的想法在每次迭代中重命名生成的已发布 PDF:

for i = 1:34
    file = publish(files(i)); % Replace with your own command(s)
    [pathStr,fileName,ext] = fileparts(file);
    newFile = [pathStr filesep() fileName '_' int2str(i) ext]; % Example: append _# to each
    [success,msg,msgid] = movefile(file,newFile);
    if ~success
        error(msgid,msg);
    end
end

还使用的是filepartsfilesep 。请参阅this question了解重命名和移动文件的其他方法。

关于Matlab发布-想要使用自定义文件名发布多个pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289042/

相关文章:

matlab - 提高许多子矩阵左除运算的性能(mldivide,\)

r - 使用Extrafont程序包检索Windows字体后,Fonts表仍然为空

java - 一个 Java 库,用于从保留空格和行的 PDF 文档中提取文本

dataframe - 重命名的区别!并在 Julia 中使用新的 DataFrame 重命名?

java - Java 中的图像处理,如 MATLAB Image Processing Toolbox

c++ - mex : undefined reference to ".." 错误

matlab - 检查天气预报值是否遵循高斯分布或不使用 matlab?

java - 如何使用 boxable 设计内 table 样式?

excel - VBA : Errors with IF loop to rename worksheets (specific errors)

file - 批量遍历子文件夹并重命名文件