[Rd] Bug in file.copy: overwrite=FALSE ignored (PR#3529)
Uwe Ligges
ligges at statistik.uni-dortmund.de
Mon Jul 21 21:02:39 MEST 2003
richard_raubertas at merck.com wrote:
> I am using R 1.7.1 on Windows XP Pro.
>
> The 'overwrite=FALSE' argument appears to be ignored in
> file.copy():
>
>
>>file.exists(c("file1.txt", "file2.txt"))
>
> [1] TRUE TRUE
>
>>file.copy(from="file2.txt", to="file1.txt", overwrite=FALSE)
>
> [1] TRUE
>
>
> and sure enough, file1.txt has been overwritten.
>
> Rich Raubertas
> Biometrics Research, RY33-300
> Merck & Co.
>
> ------------------------------------------------------------------------------
> Notice: This e-mail message, together with any attachments, ...{{dropped}}
>
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
Fix:
if (!overwrite) {
if (nt > nf)
from <- rep(from, length = nt)
exists <- file.exists(from)
from <- from[exists]
to <- to[exists]
}
file.create(to)
file.append(to, from)
should be something like
if (!overwrite) {
if (nt > nf)
from <- rep(from, length = nt)
exists <- file.exists(to)
if(sum(exists))
warning("File(s) \"", paste(to[exists], collapse = ", "),
"\" already exist(s)")
from <- from[!exists]
to <- to[!exists]
}
if (length(to)) {
file.create(to)
file.append(to, from)
}
Uwe Ligges
More information about the R-devel
mailing list