如何利用bat,將子目錄裡所以檔案移動到子目錄下。因為子目錄裡面還有很多子子目錄

2022-01-03 01:26:02 字數 3112 閱讀 4620

1樓:匿名使用者

@echo off

setlocal enabledelayedexpansion

set _path=%cd%

if exist %tmp%\tmpfile.tmp1 del %tmp%\tmpfile.tmp1

if exist %tmp%\tmpfile.tmp2 del %tmp%\tmpfile.tmp2

if exist %tmp%\tmpfilepath rd /s/q %tmp%\tmpfilepath

dir * /a-d /w /s /b >>%tmp%\tmpfile.tmp1

dir * /ad /b >>%tmp%\tmpfile.tmp2

md %tmp%\tmpfilepath

for /f "eol=; tokens=1,2 delims=." %%i in (%tmp%\tmpfile.tmp1) do (

if "%%i.%%j" neq %0 (

if exist %tmp%\tmpfilepath\%%~ni.%%j (

set num=!random!

ren "%%i.%%j" "%%~ni_!num!.%%j"

move /y %%i_!num!.%%j %tmp%\tmpfilepath

) else (

move /y %%i.%%j %tmp%\tmpfilepath))

)del %tmp%\tmpfile.tmp1

dir * /a-d /w /s /b >>%tmp%\tmpfile.tmp1

>nul (for /f "eol=; tokens=* delims=" %%i in (%tmp%\tmpfile.tmp2) do rd %%i /s/q

move %tmp%\tmpfilepath\* %_path%

for /f "eol=; tokens=* delims=" %%i in (%tmp%\tmpfile.tmp1) do move /y %%i %_path%

rd /s/q %tmp%\tmpfilepath)

以上是純功能**,如果有需要,可以郵件給我,再發一個稍微美化一點的版本給你。

複製以上**,然後儲存成.bat檔案,這個不需要我說了吧。

2樓:槍口下的兔子

@echo off

xcopy x:\ackup.rar x1:dbback /d /c /y

x: 檔案所在碟符或目錄。

x1:目標碟符或目錄

/d:只複製新檔案

/c:有錯也複製

/y:不提問

求一個bat檔案命令,批量將一個資料夾的所有「子資料夾」下的子資料夾內所有的檔案移動到「子資料夾」下

3樓:匿名使用者

也用不著批處理,就用windows自帶的搜尋命令就可以實現。你在搜尋框裡輸入你檔案的字尾,然後搜尋。得到檔案後,全選。想怎麼移動都隨你便啦。呵呵

如何用批處理提取當前目錄中所有子資料夾下的檔案,並放到每個子資料夾中

4樓:匿名使用者

就是要把a b c d資料夾下(含子目錄)的所有檔案移動到a b c d資料夾中對吧

放在和a b c d同級目錄中執行

@echo off

for /d %%a in (*) do (for /f "delims=" %%b in ('dir /b/s/a-d "%%a\"')do move "%%b" "%%a\")

如何快速將子資料夾下的檔案全部複製到一個總的根目錄下

5樓:老巫婆你送後

1、電腦開啟一個總的資料夾。

2、開啟資料夾之後,在搜尋框中輸入「*」,然後按回車進行搜尋。

3、載入完搜尋結果後,所有子資料夾中的檔案就全都出來了。

4、所有子資料夾中的檔案出來後,按ctrl+a全選,然後按複製快捷鍵ctrl+c複製後,就可以進行貼上了。

6樓:匿名使用者

@echo off

for /f "delims=" %%a in ('dir /a-d /b /s ') do (move "%%~a" d:\abc)

批處理的命令其中 「d:\abc」改成「./」可實現移動到批處理檔案層

使用方法,上面**存成txt文字,改名成.bat,放到要執行的目錄雙擊即可

——————分割線———————

@echo off

for /f "delims=" %%a in ('dir /a-d /b /s ') do (move "%%~a" ./)

儲存成.bat執行

效果:以當前批處理檔案所在位置的層級為根目錄,移動所有下級子目錄裡的所有檔案到根目錄

警告:會覆蓋同名檔案,會覆蓋同名檔案,會覆蓋同名檔案

比如:「學習」資料夾下有「數學」「語文」「英語」三個資料夾,裡面又有「01.ppt」「02.

ppt」「03.ppt」,一共9個ppt,但是不能用這個命令,使用的效果是會只剩三個資料夾。

——————分割線———————

補充:上面的碼只是應題主的要求我覺得最簡單的方法,畢竟只要一個雙擊就能完成,批處理命令一般都用於開發程式軟體用,如果只是平時處理檔案想拷貝出所有檔案,那麼推薦直接用下面「老巫婆你送後」的方法,在搜尋裡打入*.*然後按型別或名字排列後切出檔案放到你要放的位置就好。

7樓:匿名使用者

開始--執行--cmd---輸入「xcopy e:1.1(原來的目錄)空格e:

d(要複製的目錄)」 這個命令只能複製目錄下的檔案不能連資料夾都複製,所以你要是有重名的檔案的話最好改下名字。

8樓:

其實有一個簡單辦法,在1資料夾下點右鍵,搜尋,檔名輸入「*」,會查詢出所有的檔案的,按檔案型別排列一下就ok了,選中所有檔案,複製,剪下就ok了。

這是簡單的,你不是要批處理命令吧?那個比較麻煩,我也得找資料才能寫得出,就不找了,呵~~這個方法比較簡單

9樓:

最裡層的檔案?他們不在同一個資料夾下?

那恐怕沒有這種功能可以同時選中它們,而不選中它們各自的上層資料夾

shell指令碼,判斷目錄內是檔案還是子目錄

你能不能一次把問題提完整呢。shell 沒有提供處理檔案系統的底層功能。可以使用重定向,在得到一行後就立刻匹配,完成後立刻退出。它不需要等到ls命令完成。可以操作目錄下存在大量檔案的情況。效率最快的是這個 ls opt 1f sort none read line echo line if grep...

bat 批處理 文字修改,如何利用BAT批處理修改檔名及檔案中內容??

rem 複製後請把每行後面的空格去掉 set p str tmp.txt tmp.vbs echo wscript.echo replace createobject scripting.filesystemobject opentextfile tmp.txt readall,vbcrlf for...

如何利用office將掃描檔案轉換成

怎樣掃描檔案使其轉換成word 如果是pdf的話可以另存為word檔案,office2013是可以的,但是相對還是有出入的。如果將掃描件儲存為word的話,可以用一個叫abbyy finereader 12的軟體,還不錯 office裡面的軟體 microsoft document imaging ...