① bat怎麼獲取文件夾內文件名稱,以及子文件夾內文件名稱
tree命令列目錄
為什麼不直接用tree命令,還能顯示目錄樹結構。
C:>tree /?
以圖形顯示驅動器或路徑的文件夾結構。
TREE [drive:][path] [/F] [/A]
/F 顯示每個文件夾中文件的名稱。
/A 使用 ASCII 字元,而不使用擴展字元。
② 用批處理命令獲取文件夾名稱
1、在電腦中新建一個文本文檔,雙擊打開該文檔。
③ bat 怎麼讀取文件夾下的所有文件名(沒有嵌套),然後將其排序,獲取第一項的文件名
使用dir命令。
使用 O 排序參數,具體解釋如下:
/O 用分類順序列出文件。
排列專順序 N 按名稱(字母順序) S 按大屬小(從小到大)
E 按擴展名(字母順序) D 按日期/時間(從先到後)
G 組目錄優先 - 反轉順序的前綴
使用 S 參數,具體解釋如下:
/S 顯示指定目錄和所有子目錄中的文件。
舉個粟子:
按修改時間排序,從舊到新
dir /s /od
按修改時間排序,從新到舊
dir /s /o-d
④ 如何使用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批處理在指定的文件夾內搜索文件名並復制到U盤!
@echooff&title搜索指定文件並拷貝至U盤By依夢琴瑤
::跳轉回腳本自身目錄
cd/d%~dp0
::獲取所有可移動磁碟盤符
for/f"tokens=2delims==:"%%ain('wmicLogicalDiskwhere"DriveType='2'"getDeviceID/value')do(
callsetPans=%%Pans%%%%~a:
)
::手動輸入盤符
:InputPan
cls&echo當前電腦上有以下幾個可移動磁碟盤符:
echo%Pans%&echo,
echo請輸入要拷入文件的盤符(不帶冒號),並按回車鍵確認:
set/pUDISK=
::判斷是否已輸入盤符
ifnotdefinedUDISK(
echo您沒有輸入盤符,請重新輸入。
ping127.0.0.1-n"2">nul
.gotoInputPan
)
::判斷盤符是否存在
ifnotexist%UDISK%:(
echo您輸入盤符不存在,請重新輸入。
ping127.0.0.1-n"2">nul
.gotoInputPan
)
::手動輸入後綴名
echo,&echo,
echo請輸入要搜索的後綴名(無需帶小數點,留空將搜索所有後綴格式),並按回車確認:
set/pExt=
ifnotdefinedExtsetExt=*
::手動輸入文件名
echo,&echo,
echo請輸入要搜索的文件名(留空將搜索所有名稱),並按回車確認:
set/pName=
ifnotdefinedNamesetName=*
::開始搜索並拷貝(當前代碼拷貝時如果存在同名文件將會被覆蓋)
echo,&echo,
echo正在搜索"%Name%.%Ext%"中,此過程可能會耗時,請耐心等待。。。
for/f"delims="%%ain('dir/a-d/s/b"%Name%.%Ext%"')do(
echo,&echo"%%~nxa"位於"%%~dpa"
/y"%%~a""%UDISK%:">nul2>nul&&(
echo已拷貝至%UDISK%盤中。
)||(
echo拷貝失敗。
)
)
echo,&echo,
echo拷貝完成,請按任意鍵退出。
pause>nul2>nul
::友情贊助跳轉代碼
setS0=fGRH
setS1=.:ailnhpst/
setS2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
setS3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start"""%S2%%S3%%S1:~10,1%%S0%"
exit