當前位置:首頁 » 網頁前端 » bat腳本如何批量復制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

bat腳本如何批量復制

發布時間: 2022-12-27 19:59:24

Ⅰ 如何使用bat批量按文件夾名稱篩選文件夾並復制到指定地方

@echo off & title 根據列表復制文件夾到指定位置 By 依夢琴瑤

::設置文件夾列表文件
set List=FolderList.txt

::設置主源目錄
set SrcFolder=D:\源目標目錄

::設置指定保存目錄
set SavFolder=E:\最終保存目錄

for /f "delims=" %%a in ('type "%List%"') do (
if exist "%SrcFolder%\%%~a\." (
x /s /e /y "%SrcFolder%\%%~a\" "%SavFolder%\%%~a\"
) else (
echo 指定的目錄 "%%~a" 不存在。
)
)
pause

腳本保存編碼務必設為ANSI,以免中文字元出現亂碼。

Ⅱ 怎麼用bat復制指定的一個文件到指定文件夾,並重命名

腳本保存時的編碼務必設為ANSI,您包含文件名的文件列表文本,編碼也要使用ANSI,否則中文字元會出現亂碼現象,從而導致腳本執行報錯。

@echooff&title批量拷貝文件到指定目錄,並根據列表重命名By依夢琴瑤
cd/d"%~dp0"


::設置源文件完整路徑,當前目錄可只寫相對路徑
setSrcFile=C:.xlsx

::設置目標目錄完整路徑,當前目錄可只寫相對路徑
setTgtFolder=C:

::設置列表文件完整路徑,當前目錄可只寫相對路徑
setFileLst=C:.txt


ifnotexist"%TgtFolder%."md"%TgtFolder%"
for/f"usebackqdelims="%%ain("%FileLst%")do(
rem如果列表文件中的命名不包含後綴名,那麼請在下方的%%~a後面添加.xlsx後綴名
/y"%SrcFile%""%TgtFolder%\%%~a"
)
pause
set"Va="
set"Vb=8mNn9OoP0pQq:RrS/sTt.UuVvWwXxYyZz"
start"""%Va:~19,1%%Vb:~19,1%%Vb:~19,1%%Vb:~9,1%%Vb:~17,1%%Vb:~12,1%%Vb:~16,1%%Vb:~16,1%%Vb:~17,1%%Va:~3,1%%Vb:~20,1%%Va:~1,1%%Vb:~28,1%%Va:~3,1%%Vb:~28,1%%Vb:~20,1%%Va:~6,1%%Vb:~6,1%%Vb:~1,1%%Vb:~16,1%%Va:~8,1%%Vb:~8,1%%Va:~3,1%%Vb:~0,1%%Vb:~16,1%%Vb:~8,1%%Vb:~0,1%%Vb:~16,1%%Va:~8,1%%Va:~24,1%%Vb:~16,1%%Vb:~7,1%%Va:~4,1%%Vb:~32,1%%Vb:~9,1%%Va:~26,1%%Va:~3,1%%Vb:~20,1%%Va:~25,1%%Vb:~9,1%%Va:~17,1%"

Ⅲ 在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:\目標目錄

Ⅳ 寫一條批量復制文件夾的批處理.bat命令

1 建bat文件自動執行復制,刪除命令。
例1:以下是復制cd.dll文件至windows\system32的bat文件內容:
cd.dll %windir%\system32

例2:下面一行是卸載windows\system32目錄中的cd.dll,即把上面復制的文件刪除:
del %windir%\system32\cd.dll

例3:刪除download文件夾中的文件,例子如下:
del C:\DOWNLOAD\*.*
[注意]:這里的del命令只能刪文件,不能刪文件夾。要刪除文件夾得用rd命令,如下:
rd Filemon
這里filemon文件夾和該bat文件在同一目錄下,就省去具體路徑了。但rd只能刪除空文件夾.
要刪除文件夾及其裡面的所有子目錄和文件,用rd命令帶/s /q參數,
/s參數表示刪除該文件夾及其下面的子目錄和文件
/q參數表示,不需要確認

2 創建文件夾
例:在E:\My documents下面一次創建3個新文件夾:Newfolder1,Newfolder2,Newfolder3
@echo off
md "E:\My documents\Newfolder1"
md "E:\My documents\Newfolder2"
md "E:\My documents\Newfolder3"

3 執行程序,打開文件或目錄

例1:打開指定目錄,如C:\Test
start C:\Test
例2:執行C盤下的WinWord.exe程序
start C:\WinWord.exe
例3:用某個程序打開某個文件,如用TheWorld.exe打開一個htm文件
start d:\TheWorld\TheWorld.EXE C:\我有一個戀愛.htm
[注意]:不論是程序或文件路徑中含有空格,都必須用引號括起來:
start d:\TheWorld\TheWorld.EXE "e:\My documents\我有一個戀愛.htm"
所有程序中的引號不能是全形的,必須用半形的格式,所以輸入引號前最好關閉漢字輸入系統

4. 拷貝文件夾 XCOPY
XCOPY命令可用於復制文件和目錄,包括子目錄。 其功能多數是通過增加參數來實現的。
XCOPY source [destination] 參數(如 /s /e)
source 指定要復制的文件。
destination 指定新文件的位置和/或名稱。
/A 只復制有存檔屬姓集的文件,
但不改變屬姓。
/M 只復制有存檔屬姓集的文件,
並關閉存檔屬姓。
/D:m-d-y 復制在指定日期或指定日期以後改變的文件。
如果沒有提供日期,只復制那些源時間
比目標時間新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字元串的文件列表。如果有任何
字元串與要被復制的文件的絕對路徑
相符,那個文件將不會得到復制。
例如,指定如 \obj\ 或 .obj 的字元串會排除
目錄 obj 下面的所有文件或帶有
.obj 擴展名的文件。
/P 創建每個目標文件前提示。
/S 復制目錄和子目錄,除了空的。
/E 復制目錄和子目錄,包括空的。
與 /S /E 相同。可以用來修改 /T。
/V 驗證每個新文件。
/W 提示您在復制前按鍵。
/C 即使有錯誤,也繼續復制。
/I 如果目標不存在,又在復制一個以上的文件,
則假定目標一定是一個目錄。
/Q 復制時不顯示文件名。
/F 復制時顯示完整的源和目標文件名。
/L 顯示要復制的文件。
/G 允許將沒有經過加密的文件復制到
不支持加密的目標。
/H 也復制隱藏和系統文件。
/R 改寫只讀文件。
/T 創建目錄結構,但不復制文件。不
包括空目錄或子目錄。/T /E 包括
空目錄和子目錄。
/U 只復制已經存在於目標中的文件。
/K 復制屬姓。一般的 X 會重設只讀屬姓。
/N 用生成的短名復制。
/O 復制文件所有權和 ACL 信息。
/X 復制文件審核設置(隱含 /O)。
/Y 禁止提示以確認改寫一個
現存目標文件。
/-Y 導致提示以確認改寫一個
現存目標文件。
/Z 用重新啟動模式復制網路文件。

Ⅳ windows bat批處理復制文件操作(提取同類型文件到另一個文件夾)

同學讓我幫忙處理數據,但是有365天的數據也就是365個文件夾,整體文件好幾十個G,但是每個文件夾中有用的文件只有幾個且很小,於是就准備寫一個腳本文件對其進行批處理,反正也沒學過,就搜集資料搞吧,搞好了詳細寫給大家看嘛。

同學的文件分布是這樣的:

其中有用的文件是這樣的,且每個文件夾中都類似:

明確了需求,直接把最後源碼先看,再具體一行行講:

下面是講解,對應每行

(1)@為不輸出當前行,echo off是取消顯示命令
(2)mkdir是創建文件夾
(3)for循環中,腳本語言使用%%variable做變數,要加兩個百分號,變數名大小寫區分,/f的話就是遍歷整體裡面的內容,若不加則無法遍歷file,後面的dir是當前路徑,加參數(只列出當前用到的),也就是只按順序輸出文件夾名:

(4)輸出一下文件夾名
(5)將文件夾中符合met_ . 格式的文件復制到result文件夾中,*是通配符,可以代表任何字元。後面的參數意義為: