Rでコマンド:ファイルやフォルダを操作するコマンド例

Rの解析に役に立つ記事
スポンサーリンク

基本コマンドでフォルダの新規作成、ファイルのコピーを実行する例です。

指定した「XXX」フォルダ内のファイルを、新規にデスクトップに作成した「NEW_XXX」フォルダにコピー。そして、ファイル名を「指定したファイル名_No.元の拡張子」に変更するコマンドです。なお、元フォルダの内容は変更されません。

コマンドを上から順に実行すると下記画像の左から右の写真のようになります。

filecomand

実行コマンドはwindows 7およびOS X 10.11.2のR version 4.1.2で確認しています。


スポンサーリンク

実行コマンド

詳細はコメント、コマンドのヘルプを確認してください。

#パッケージの読み込み
library("tcltk")

#対象ファイルが保存されている「XXX」フォルダを選択
TargetDir <- paste(as.character(tkchooseDirectory(title = "&#12501;&#12457;&#12523;&#12480;&#12434;&#36984;&#25246;"),
&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; sep = "", collapse =""))

#&#12501;&#12457;&#12523;&#12480;&#21517;&#12434;&#21462;&#24471;
DirName <- tail(unlist(strsplit(TargetDir, "\\/")), n = 1)

#&#12501;&#12457;&#12523;&#12480;&#20869;&#12398;&#12501;&#12449;&#12452;&#12523;&#12434;&#21462;&#24471;
ItemList <- list.files(path = TargetDir)

#&#25313;&#24373;&#23376;&#12434;&#21462;&#24471;
ExtenList <- t(as.data.frame(strsplit(ItemList, "\\.")))[, 2]

#&#12487;&#12473;&#12463;&#12488;&#12483;&#12503;&#12395;&#12501;&#12457;&#12523;&#12480;&#12434;&#20316;&#25104;
#&#20316;&#25104;&#22580;&#25152;&#12434;&#25351;&#23450;
if(.Platform$OS.type == "windows"){
  #windows
  NewDir <- paste0(file.path(Sys.getenv("USERPROFILE"), "Desktop", fsep="\\"), "/NEW_", DirName)
  
  } else {
    #Mac
    NewDir <- paste0(file.path(path.expand("~"), "Desktop"), "/NEW_", DirName) }

#&#12501;&#12457;&#12523;&#12480;&#12434;&#20316;&#25104;
dir.create(NewDir)

#&#20316;&#25104;&#12375;&#12383;&#12501;&#12457;&#12523;&#12480;&#12395;&#12501;&#12449;&#12452;&#12523;&#12434;&#12467;&#12500;&#12540;
file.copy(paste0(TargetDir, "/", ItemList), paste0(NewDir, "/", ItemList))

#&#12501;&#12449;&#12452;&#12523;&#21517;&#12398;&#22793;&#26356;
file.rename(paste0(NewDir, "/", ItemList),
            paste0(NewDir, "/", ChangeName, "_", seq(ItemList), ".", ExtenList))

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました