Как переместить родительскую папку назад

#r #file

#r #файл

Вопрос:

В R я работаю над «./parent / Child / A». Я хочу переместить родительскую папку обратно в «дочернюю», но когда я набираю полный путь. Он проигрывал много раз.

Комментарии:

1. Как именно вы «ввели полный путь» и что вы имеете в виду «он терялся много раз?» Можете ли вы показать какой-нибудь код?

2. ОК. Обычно я кодирую так: setwd(«./parent / Child») . С коротким путем, как в этом примере, все в порядке. Но с длинным путем это не очень хорошо для меня.

Ответ №1:

 setwd('..')
  

переместится на один каталог вверх без ввода абсолютного пути. Вот пример

 > getwd()
[1] "C:/Users/D/Desktop/EDABaseball"
> setwd('..')
> getwd()
[1] "C:/Users/D/Desktop"
  

Ответ №2:

Я думаю, вы хотите вернуться в рабочий каталог ./parent/Child/ . Это можно сделать двумя способами, предполагая, что ваш текущий рабочий каталог ./parent/Child/A

1) setwd("..")

2) setwd("./..")

3) setwd("./parent/Child")

Комментарии:

1. в чем разница между использованием одной или двух точек? Мне пришлось вернуться на две папки вверх и использовать «.. /../ analisys / data»

2. @niklai чтобы вернуться на два уровня назад в иерархии каталогов, вы должны ввести команду setwd("./../..") , а чтобы вернуться на три уровня назад, вы должны ввести команду setwd("./../../..") и так далее.

3. Двойные кавычки не работают в моем Linux Mint. Одиночные, сделайте.

Ответ №3:

Я также нахожу dirname() функцию довольно полезной, особенно если ваш путь сохранен в переменной:

 mypath <- getwd()

# The path of the parent directory:
dirname(mypath)
  

Комментарии:

1. dirname подходит, если вы хотите просто переместить его непосредственно из рабочего каталога. очень полезно. Спасибо @hBAT

Ответ №4:

Перемещается на один каталог вверх в Linux

 setwd("../")
  

Ответ №5:

По сути, я разделил дочернюю папку с помощью strsplit by '/' , а затем получил родительскую папку, вставляющую фрагменты, сворачивающиеся by '/' , за исключением последнего. Раньше я getwd() делал код воспроизводимым, но вы можете использовать любую папку.

 myDir <- unlist(strsplit(getwd(), '/'))
paste0(myDir[-length(myDir)], collapse = '/')