我將tar命令傳遞給應用程序中的shell執行程序。但似乎我的tar語法不正確。 (這是windows(bsdtar命令),但工作原理與Linux相同,據我所知,我也可以在Linux上測試,如果需要的話)。使用-C選項和通配符的tar文件
我試圖tar所有以ext結尾的文件將完整路徑存儲在我的tar文件中。
tar -cvzf test.tar.gz -C C:/mydir/toTar/ *.ext
我得到連接錯誤:
tar: *.ext: Cannot stat: No such file or directory
我可以給整個路徑,但隨後我的焦油包含C-> mydir-> toTar->。我只想要這些文件,而不是mydir和toTar。
到目前爲止,只有接近我想要的東西是「。」而不是「* .ext」,但那也是其他的東西,我顯然不想要。
任何接受者?
我能cd對目錄,然後執行我的焦油,但在我的情況,因爲我將命令傳遞給別的事情執行,我不能那樣做。一次只能執行一個命令。 – dlite922
除非給出特定選項才能這樣做,否則tar不會執行通配符擴展;外殼的確如此。它看起來像bsdtar需要一個選項'--include ='*。ext'',所以請嘗試使用而不是* .ext參數。您可能需要這些單引號來防止shell在應用程序調用tar命令的任何目錄中擴展* .ext。 –
嗯,我忘了include。 Rsync也有這個選項,並已成功使用它。也許我會試試這個。它是否仍然需要一個參數? (文件列表參數爲焦油?) – dlite922