2013-03-12 33 views
0

我想從源文件夾複製到目的地。 目標文件夾並不總是存在。如何複製文件並創建路徑目標文件夾,如果它們不存在?

如果目標文件夾不存在,哪個複製命令會創建目標文件夾?

例子:

$(CP) $(HOME)/text.txt $(DEST)/dir1/dir2/text.txt 

文件夾dir1dir2並不總是存在的,應該被創建。

+1

閱讀'mkdir'手冊頁。密切關注'-p'標誌。 – dmckee 2013-03-12 20:28:25

回答

1

你在用什麼外殼?

無論如何,它似乎沒有很酷的捷徑。最好的方法是簡單組合mkdircp。下面您的示例:

mkdir -p dir1/dir2 && cp ~/text.txt ~/dir1/dir2

此命令將使test.txt的在DIR2。希望這可以幫助!

BTW,爲cp語法cp [source] [destination dir]

0

如果您使用的是新版本的GNU版本做,有一個巧妙的方法,你可以用它來或多或少自動創建任何目標目錄:

.SECONDEXPANSION: 
%/.: 
     mkdir -p -- "$*" 

現在,對於要創建目標目錄的每個目標,添加「| $$(@ D)/」。作爲先決條件:

$(TARGET) : $(PREREQUISITES) | $$(@D)/. 
     ... 
相關問題