100分高分悬赏!因工作的特别要求,有1000个文件夹,每个文件夹里有几十个文件且都没有子文件夹没有二级目录,跪求一个批处理程序,实现批量统计这1000个文件夹的以下信息并按以下格式列到一个txt文本里。
(文件夹名)空格(文件夹第一个文件的文件名)空格(文件夹最后一个文件的文件名)空格(这个文件夹里的文件数量)
如果太抽象的话 我举个例子,比如其中一个文件夹,文件夹名是ABC,文件夹里有文件0001.jpg 0002.txt 0003.zip …… 0041.doc共41个文件,经过批处理后,其在批处理后生成的文本文件里属于它的那一行内容为:
ABC 0001.jpg 0041.doc 41
大师们,休怪我的要求奇葩,的确是工作需要,不到万不得已我真的不想问这么无厘头的问题。
但是这种批处理程序对高手来说,是易如反掌吧?
批处理如何获取每个文件夹里第一个和最后一个文件的文件名,以及文件总数量并将统计结果按格式输出到txt
答案:3 悬赏:60 手机版
解决时间 2021-04-04 21:03
- 提问者网友:最爱你的唇
- 2021-04-03 22:20
最佳答案
- 五星知识达人网友:鱼芗
- 2021-04-03 23:56
批处理文件放那1000文件夹并列位置运行,(或还可将此总文件夹拖到批处理文件图标上运行)结果在批处理文件同位置--统计.txt
@echo off
set "ds=%~dp0"
if not "%1"=="" set "ds=%~1"
cd/d "%ds%"
set n=0&set f1=-&set "fn=-"
(for /f "delims=" %%i in ('dir/b/ad')do (
setlocal enabledelayedexpansion
cd "%%i"
>con echo %%i:
for /f "delims=" %%j in ('dir/b/a-d/on')do (
set/a n+=1
set "fn=%%j"
>con echo; %%j
if "!f1!"=="-" set f1=%%j)
echo %%i !f1! !fn! !n!
endlocal
))>"%~dp0统计.txt"
echo;&echo 统计完毕!
ping /n 5 127.1>nul
@echo off
set "ds=%~dp0"
if not "%1"=="" set "ds=%~1"
cd/d "%ds%"
set n=0&set f1=-&set "fn=-"
(for /f "delims=" %%i in ('dir/b/ad')do (
setlocal enabledelayedexpansion
cd "%%i"
>con echo %%i:
for /f "delims=" %%j in ('dir/b/a-d/on')do (
set/a n+=1
set "fn=%%j"
>con echo; %%j
if "!f1!"=="-" set f1=%%j)
echo %%i !f1! !fn! !n!
endlocal
))>"%~dp0统计.txt"
echo;&echo 统计完毕!
ping /n 5 127.1>nul
全部回答
- 1楼网友:一叶十三刺
- 2021-04-04 02:01
using System;
using System.IO;
using System.Runtime.InteropServices;
class Expdir
{
[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);
static void Main(string[] args)
{
String path = args.Length>0?args[0].ToString():Environment.CurrentDirectory;
string[] files = Directory.GetFiles(path);
Array.Sort(files, StrCmpLogicalW);
foreach (string file in files)
{
Console.WriteLine(file);
}
}
}
- 2楼网友:长青诗
- 2021-04-04 00:30
@echo off&setlocal enabledelayedexpansion&for /f "delims=" %%a in ('dir /s/b %1')do set/a a+=1&ren "%%a" "!a!.*"
echo msgbox "已处理!a!个文件^!",vbinformation,"友情提醒">>%temp%\temp.vbs&%temp%\temp.vbs&del %temp%\temp.vbs&ex
::vbt-兜兜 ```原码
::将文件夹拖入或放在该文件夹里运行本p 即可!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯