我想從源文件夾複製到目的地。 目標文件夾並不總是存在。如何複製文件並創建路徑目標文件夾,如果它們不存在?
如果目標文件夾不存在,哪個複製命令會創建目標文件夾?
例子:
$(CP) $(HOME)/text.txt $(DEST)/dir1/dir2/text.txt
文件夾dir1
和dir2
並不總是存在的,應該被創建。
我想從源文件夾複製到目的地。 目標文件夾並不總是存在。如何複製文件並創建路徑目標文件夾,如果它們不存在?
如果目標文件夾不存在,哪個複製命令會創建目標文件夾?
例子:
$(CP) $(HOME)/text.txt $(DEST)/dir1/dir2/text.txt
文件夾dir1
和dir2
並不總是存在的,應該被創建。
你在用什麼外殼?
無論如何,它似乎沒有很酷的捷徑。最好的方法是簡單組合mkdir
和cp
。下面您的示例:
mkdir -p dir1/dir2 && cp ~/text.txt ~/dir1/dir2
此命令將使test.txt的在DIR2。希望這可以幫助!
BTW,爲cp
語法cp [source] [destination dir]
如果您使用的是新版本的GNU版本做,有一個巧妙的方法,你可以用它來或多或少自動創建任何目標目錄:
.SECONDEXPANSION:
%/.:
mkdir -p -- "$*"
現在,對於要創建目標目錄的每個目標,添加「| $$(@ D)/」。作爲先決條件:
$(TARGET) : $(PREREQUISITES) | $$(@D)/.
...
閱讀'mkdir'手冊頁。密切關注'-p'標誌。 – dmckee 2013-03-12 20:28:25