Linux環境下檔案批量複製指令碼

2021-08-14 16:05:01 字數 1987 閱讀 4709

簡介

在做專案的時候,有一種需求,class檔案只能先以普通使用者身份用ftp複製到linux,然後用shell工具以root使用者將ftp複製來的檔案複製到對應的專案目錄,很麻煩,所以寫了一段指令碼完成這些任務。

功能

只需要把要複製的檔案放到同乙個臨時目錄當中,然後修改指令碼檔案,sourcepath表示臨時目錄,targetpath表示專案存放的目錄

例項

假設:步驟:

第一種1、修改指令碼中的「sourcepath」為:/home/mote/temp/

3、執行指令碼檔案  sh shell_name.sh(連續按兩次回車鍵)

第二種1、執行指令碼檔案  sh shell_name.sh

2、輸入新檔案的路徑:/home/mote/temp/   然後回車(注意:最後邊加上「/」)

4、回車

備註:在替換檔案的時候會出現覆蓋提示,輸入「y」,然後回車即可

指令碼

#! /bin/bash

function read_dir()

then

bl=$(find $target_input -type f -name $file)

path_sta=$

if [ ! $ -gt 1 ]

then

new_files="$, $"

else

cp -i -r $source_input$file $path_sta/$file

fifi

done

else

for file in `ls $source_input`

doif test -f $source_input$

then

bl=$(find $targetpath -type f -name $file)

path_sta=$

if [ ! $ -gt 1 ]

then

new_files="$, $"

else

cp -i -r $source_input$file $path_sta/$file

fifi

done

fielse

if test -n "$target_input"

then

for file in `ls $sourcepath`

doif test -f $sourcepath$

then

bl=$(find $target_input -type f -name $file)

path_sta=$

if [ ! $ -gt 1 ]

then

new_files="$, $"

else

cp -i -r $sourcepath$file $path_sta/$file

fifi

done

else

for file in `ls $sourcepath`

doif test -f $sourcepath$

then

bl=$(find $targetpath -type f -name $file)

path_sta=$

if [ ! $ -gt 1 ]

then

new_files="$, $"

else

cp -i -r $sourcepath$file $path_sta/$file

fifi

done

fifi

if [ $ -gt 1 ]

then

echo "專案中不能存在以下檔案,請手動複製!"

echo $

fi}read_dir

批量重新命名 檔案批量重新命名和同名檔案複製

近期在給一家影樓做資料維護的時候,碰到乙個令他們糾結的問題。原因是這樣的,很多影樓現在要求數碼人員用原片修,而不能用磨過皮的 精修,因為磨過皮的 再修的話,會影響 的層次感。數量少的時候,數碼部手工操作還方面,根具分片後的 然後到原始片裡把 一張一張的選出來,再製作。但旺季忙的時候,有些數碼師就偷懶...

Python將資料夾下檔案批量重新命名

一批是亂序命名的,想工整的命名為00001.jpg 00002.jpg這樣,注意前面要補零,不然有些軟體開啟資料夾的時候,會出現102接下來是1020這樣的現象。coding utf 8 開發人員 csu pan 開發時間 2020 11 22 11 45 檔名稱 renamefile.py 開發工...

php 獲取目錄下檔案 批量改名 批量插入資料庫

今天要建立乙個足球隊伍的字典,上百條呀,手動忒麻煩,做了個小工具,實現將某個資料夾下的所有檔案重新命名,並且自動生成字典檔案。同時可以插入資料庫。如下 require once common db connect.class.php 利用php目錄和檔案函式遍歷使用者給出目錄的所有的檔案和資料夾,修...