在Windows中的for循环中重命名

亚树

重命名功能不起作用,我尝试了以下方法

for (i in 1:length(file_list))
    {
         dest=paste("D:/R/Hr/New1",file_list[i],sep="/")
         exe <- "C:\\Program Files\\xpdfbin-win-3.03\\bin32\\pdftotext.exe"
         system(paste("\"", exe, "\" \"", dest, "\"", sep = ""), wait = F)
         filetxt <- sub(".pdf", ".txt", dest)
         fdest=paste("D:/R/Hr/New2/",file_list[i],sep="")
         fdest <- sub(".pdf", ".txt",fdest)
         #my.file.rename(filetxt,fdest)
         file.rename(filetxt,fdest)
    }

但没有重命名一个文件但没有循环可以正常工作

        i=1
> dest=paste("D:/R/Hr/New1",file_list[i],sep="/")
>          exe <- "C:\\Program Files\\xpdfbin-win-3.03\\bin32\\pdftotext.exe"
>          system(paste("\"", exe, "\" \"", dest, "\"", sep = ""), wait = F)
>          filetxt <- sub(".pdf", ".txt", dest)
>          fdest=paste("D:/R/Hr/New2/",file_list[i],sep="")
>          fdest <- sub(".pdf", ".txt",fdest)
>          #my.file.rename(filetxt,fdest)
>          file.rename(filetxt,fdest)
[1] TRUE

只是没有理解为什么这个问题以及如何解决这个问题,并且与此功能相同的输出

my.file.rename <- function(from, to) {
  todir <- dirname(to)
  if (!isTRUE(file.info(todir)$isdir)) dir.create(todir, recursive=TRUE)
  file.rename(from = from,  to = to)
}

为什么我不期望在for循环中重命名,任何帮助,谢谢

汉斯·罗格曼

不需要任何循环,在Mac上似乎可以正常工作:

file_list = list.files("~/test/",pattern="*.pdf",full.names=TRUE)
fdest= sub(".pdf", ".txt",file_list)
file.rename(file_list,fdest)
print(list.files("~/test/",pattern="*.pdf",full.names=TRUE))
print(list.files("~/test/",pattern="*.txt",full.names=TRUE))

我的猜测是您wait = F在系统调用中允许代码在可执行文件生成文件之前继续执行(即使这样做,它也可能已被锁定)。完成对pdftotext.exe的所有调用后,尝试将其设置为true并运行此代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

在R中的for循环中粘贴重命名功能的用法

来自分类Dev

重命名循环中的列,R

来自分类Dev

使用Jython在循环中重命名变量

来自分类Dev

如何在for循环中重命名fish中的文件扩展名?

来自分类Dev

在UNIX中重命名文件以在循环中更改其他文件

来自分类Dev

使用正则表达式在for循环中重命名bash中的文件

来自分类Dev

在循环中重命名的火花sql数据帧联接

来自分类Dev

如何批量添加attrib到FOR循环中的重命名文件

来自分类Dev

在foreach循环中输出时如何重命名文件

来自分类Dev

想要重命名循环中的所有键名

来自分类Dev

使用循环重命名 R 中的字段

来自分类Dev

JavaScript 中的变量在 for 循环中的动态命名

来自分类Dev

byobu在ssh会话中重命名Windows

来自分类Dev

在Windows中批量重命名多个文件?

来自分类Dev

无法在Windows 7中重命名文件

来自分类Dev

重命名Windows 7中的电源计划?

来自分类Dev

使用Perl在Windows中重命名文件

来自分类Dev

在 Windows CMD 中重命名文件列表

来自分类Dev

在r的for()循环中转置和重命名数据帧

来自分类Dev

切片数据帧并在循环中动态重命名

来自分类Dev

在for循环中用C重命名一个char变量

来自分类Dev

重命名在for循环中通过扩展名找到的所有文件

来自分类Dev

使用foreach循环在Powershell中批量重命名文件

来自分类Dev

循环以重命名R数据框中的字段

来自分类Dev

使用assign()循环R中的重命名变量

来自分类Dev

使用foreach循环在Powershell中批量重命名文件

来自分类Dev

循环以重命名R数据框中的字段

Related 相关文章

热门标签

归档