WindowsでのR実行で実行されるより大きなタスクの一部として、選択したファイルをディレクトリ間でコピーしたいと思います。 R内でcp patha/filea*.csv pathb
(ワイルドカードに注意してください)のようなコマンドを与えることは可能ですか?
私は直接的な方法はないと思いますが(砲撃の恥ずかしがり屋)、通常は次のようなものがうまくいきます。
_flist <- list.files("patha", "^filea.+[.]csv$", full.names = TRUE)
file.copy(flist, "pathb")
_
メモ:
^
_と_$
_(beg/end of string)に注意してください-これは一般的な問題です。これらはワイルドカードタイプのパターンに暗黙的ですが、正規表現では必須です(一部のファイル名はありません)ワイルドカードパターンに一致するだけでなく、追加テキストで開始および/または終了することもできます)。ignore.case = TRUE
_引数を_list.files
_に追加します。glob2rx()
関数は、ワイルドカードパターンを正規表現に変換する便利な方法を提供します。たとえば、fpattern = glob2rx('filea*.csv')
は、異なるが同等の正規表現を返します。あなたはできる
system()
を使用して、コマンドがシェル上にあるかのように起動し、グロビングを含むlist.files()
aka dir()
を使用して、自分と一致するグロビング/ reg.expを実行し、ファイルを個別にコピーしますfile.copy
mjvの回答に示されているように、個々のファイル