あなたは、現在のRセッションのために一時ディレクトリを取得することができます。セッションの一時ディレクトリは、システムの一時ディレクトリにある
list.files(tmp_dir)
#> [1] "file16dc20539ab" "file16dc4ad71f" "file16dc5bab1716"
#> [4] "file16dc74d65663"
現在 Rセッションのために一時ディレクトリが一時ファイルとディレクトリが含まれてい
tmp_dir <- tempdir()
tmp_dir
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh"
tempdir()
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh"
数回呼ばれたときには変更されません。あなたは(だけではなく、Rの一時ファイル、それはすべてのシステムのためにあるので、けれどもお勧めできません)システムの一時ディレクトリ内のすべて削除したい場合は、
dirname(tmp_dir)
#> [1] "C:/Users/chris/AppData/Local/Temp"
このパスはまたに含まれ、このパスを使用することができますOSの環境変数。
Sys.getenv("TEMP")
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp"
shell("echo %TMP%", intern = T) # command line from R on windows
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp"
tempfile()
はファイル拡張子なしで、デフォルトでは tempdir()
ディレクトリに、可能な一時ファイルのパスを提供します(もちろん、私は窓にしています)。ファイルが作成さ とtempfile
には、いくつかの 回
tmp_file <- tempfile()
tmp_file
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh\\file16dc202636f"
file.exists(tmp_file)
#> [1] FALSE
tempfile() # new file path when called again
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh\\file16dc72594e58"
を呼び出したときに私たちはtmp_fileに何かを書くことができます異なる値を与えていません。
あなたはRセッションの一時フォルダ内のすべてのファイルを削除したい場合は
file.remove(tmp_file)
#> [1] TRUE
file.exists(tmp_file)
#> [1] FALSE
にこのファイルを削除する場合我々は、今、このファイルからあなたを
readLines(tmp_file)
#> [1] "This is a temp file"
を読むことができます
# file is created by writeLines if it does not exist (this is the case here)
writeLines("This is a temp file", con = tmp_file)
file.exists(tmp_file)
#> [1] TRUE
ファイル一覧で file.remove
を使用できます。この目的のために、 "file"で始まる 一時ファイルをすべて削除しました("^file"
はそのパターンの正規表現です)。私が作成した以上のものがあります - Rセッションは途中で一時ファイルを作成するようです。
files <- list.files(tmp_dir, full.names = T, pattern = "^file")
files
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc1a6a6e15"
#> [2] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc1ff572fc"
#> [3] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc20539ab"
#> [4] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc2e2227b8"
#> [5] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc4ad71f"
#> [6] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc513c35b6"
#> [7] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc570a473f"
#> [8] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc5bab1716"
#> [9] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc6e102bd4"
#> [10] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc6f253f90"
#> [11] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/file16dc74d65663"
file.remove(files)
#> Warning in file.remove(files): impossible d'effacer le fichier 'C:
#> \Users\chris\AppData\Local\Temp\RtmpmusYkh/file16dc1ff572fc', Ã cause de
#> 'Permission denied'
#> [1] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
私は(今おそらくRが使用して)削除することはできませんファイルがありますので、私は警告を受ける
あなたはあまりにも
# create a new directory under tempdir
dir.create(dir1 <- file.path(tempdir(), "testdir"))
# create 2 file under this new directory
file.create(file1 <- tempfile(tmpdir = dir1))
#> [1] TRUE
file.create(file2 <- tempfile(tmpdir = dir1))
#> [1] TRUE
file1
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/testdir\\file16dc26b5cb7"
file2
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/testdir\\file16dc2b0816fe"
list.files(dir1, full.names = T)
#> [1] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/testdir/file16dc26b5cb7"
#> [2] "C:\\Users\\chris\\AppData\\Local\\Temp\\RtmpmusYkh/testdir/file16dc2b0816fe"
# we can delete the all directory with `unlink`. It deletes also the directory
unlink(dir1, recursive = T)
dir.exists(dir1)
#> [1] FALSE
を
unlink
を使用することができ、フォルダを削除する場合
'list.files(" tmp "、full.names = TRUE)'とは何ですか? –
'list.files'のディレクトリの場所はあなたの現在の作業ディレクトリとの相対的なものなので、完全に入力するか、' tmp'の上のディレクトリにいることを確認する必要があります。おそらく、 'list.files'呼び出しで' recursive = TRUE'も必要になるでしょう。 –
'tempfile()'は、一時ファイルディレクトリ内の一時ファイルのファイルパスを与えます。あなたのRセッションの一時ディレクトリの場所は、 'tempdir()'にあります。 tempディレクトリは 'basename(tempdir()) 'で計算できます。 – cderv