當前位置:首頁 » 網頁前端 » 寫一個定時復制粘貼文件的腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

寫一個定時復制粘貼文件的腳本

發布時間: 2023-05-10 16:10:40

『壹』 如何寫一個文件自動復制的腳本

你可以先在主機上將要拷入的機器的共享文件夾建一個磁碟影射,然後建個文本文件,寫入內容: (源文件地址)空格(要考入的地址) 保存退出後,將文本文件改稱.bat的文件,在計劃任務中執行就可以了
例:
c:\winnt\explorer.exe h:\winnt\explorer.exe

『貳』 在bat腳本中實現復制文件

bat 是批處理文件,主要用於 DOS 和 Windows 操作系統中。

.bat 文件的內容,是由一系列命令構成,每一行通常是一條命令,這些命令是以字元的形式,通過命令解釋器進行執行(與 Windows 常見的滑鼠點擊運行不同)。

復制文件的最常用的命令是: 。相關的資料如下:

COPY [/D[1] ] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]

各參數代表的含義:

source 指定要復制的文件。
/A 表示一個 ASCII 文本文件。
/B 表示一個二進位文件。/D 允許解密要創建的目標文件
destination 為新文件指定目錄和/或文件名。
/V 驗證新文件寫入是否正確。
/N 復制帶有非 8dot3 名稱的文件時,
盡可能使用短文件名。
/Y 不使用確認是否要覆蓋現有目標文件的提示。
/-Y 使用確認是否要覆蓋現有目標文件的提示。

示例:

將 D:\目錄\ 下的所有 txt 文件,復制到 D:\目標目錄 下。

D:\目錄\*.txt D:\目標目錄

『叄』 利用Windows 計劃任務定時將本地文件復制到共享文件夾

有時候,我們會遇到需要將本地文件定時復制到遠程主機的情況。解決這個問題的思路是:

 1、編寫復制文件腳本

 2、利用Windows計劃任務定時執行腳本

邏輯是簡單的清楚的,但是在實際操作過程中,卻可能有團虛侍很多細節。

腳本塌吵內容:

net use \\net_host_ip_address\ipc$ password/user:username

x /e /H "C:\backup" "\\10.144.129.17\share_dir\"

說明:

與本地cop不一樣,網路之間的需要使用到用戶名和密碼,所以腳本的第一句是指定網路主機的幾個參數:

net_host_ip_address:提供共享目錄的主機的ip地址(或者主機名)

password:能夠訪問共享目錄的用戶名

username:訪問共享目錄的用戶名

#第二行比較簡單,

/e和/h都是x提供的參數,"C:\backup"是要拷貝的文件夾(x比較惡心人的是,並不能將根目錄一起復制,只能復制目錄下面的所有文件,

比如本次目錄,要想連同backup一起拷貝,除非在backup上面還有一層目錄)。最後一段就是網路位置

設置定時譽升任務:

 這里需要說明的是:

 因為我們要設置的是定時任務,所以選擇【不管用戶是否登錄都要執行】;因為我們要將本地資源復制到網路位置,

所以下面的不要存儲密碼一定不要選;

 這里我們要說的是其實位置:在windows server 2012 R2下,起始位置選擇上一步程序或腳本的存儲位置

『肆』 shell腳本---定時復制文件至目的文件夾

業務需求:定時從path1中取文件,復制到path2中

主要解釋第7行

分3部分:

既然上述命令輸出的是一串字元串,則不可避免需要做切割。
對於一行字元串str="aaa,bbb,vvv,ccc"
直接利用${str[@]}就可以獲得分割後的列表。那麼,如何定義分隔符呢?
IFS=$','
IFS是系統自帶的一個變數,儲存著分隔符,默認好像是空格。可以自定義
上面腳本中就是定義了IFS為換行符。
腳本後半部分就是依次處理文件,判斷目標文件夾是否已有該文件,如果沒有,就復制。

項目中源文件夾的文件是每個幾分鍾會增加一個,相當於上述腳本要每隔一段時間運行一次,以確保源文件夾和目標文件夾里的內容同步。
crontab講解1
crontab講解2