
如果你有点DOS命令的基础,我下面说的你就能看懂了。
按WIN+R打开运行,输入CMD,按回车,打开DOS窗口
进入你需要统计文件数量的那个目录,如果你不会DOS命令的话,就把文件夹复制到一个盘符根目录下,假设在D盘根目录下,文件夹名"123"
在DOS中依次输入
d:
按回车
cd 123
按回车
这时你就进入这个目录了
dir /s > 1txt
回车之后,会在这个目录里形成一个1txt的文件,文件中包含了你目录及子目录的文件信息
回到资源管理器里打开这个文件,里面就是你想要的东西。
string[] files = SystemIODirectoryGetFiles(@"D:\OD\",
"doc",SystemIOSearchOptionTopDirectoryOnly);//获取该目录下的Doc文件
string[] files = SystemIODirectoryGetFiles(@"D:\OD\", "docx",SystemIOSearchOptionTopDirectoryOnly);//获取该目录下的Docx文件
string[] files = SystemIODirectoryGetDirectories(@"D:\OD\");//获取子文件夹
首先根据你的类型可以进行分组,如文件夹,和Word文档,也可以不分组最后从上面的代码中获取到文件夹和Word名称,做为项加入到组中,然后再根据项选选择相应的就可以了(如Word样式的或是文件夹样式的)
public string GetAllTxtValues(string txtName)
{
//这是路径:@"/TestText/"
//这是文件夹名称: txtName
string[] str = FileReadAllLines(@"/TestText/" + txtName);
string value = null;
for (int i = 0; i < strLength; i++)
{
value += str[i]ToString() + "\n";
}
return value; //返回的是文件名称 (文件名1+文件名2+文件名3 )
}
//如果你要得到所有文件名
string[] splitNew = valueSplit(' '); //以空格截取出来
for(int i=0;i<splitNew length;i++){
string name = splitNew[i]tostring(); //这得到文件名称
}
flistFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。
是该目录中的文件,不是子目录吧?
你可以这么做:
public void getDir(String strPath)
{
File f=new File(strPath);
if(fisDirectory())
{
File[] fList=flistFiles();
for(int j=0;j<fListlength;j++)
{
if(fList[j]isDirectory())
getDir(fList[j]getPath);
Systemoutprintln(fList[j]getName());
}
}
获得该父目录下所有子目录~
VB获取指定文件夹下所有文件夹
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Declare Sub CoTaskMemFree Lib "ole32dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Const MAX_PATH = 260
Private Const MAXDWORD = &HFFFF
Private Const INVALID_HANDLE_VALUE = -1
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Const BIF_RETURNONLYFSDIRS = 1
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String MAX_PATH
cAlternate As String 14
End Type
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Sub GetSubDirectory(srcPath As String)
GetAllFilePath srcPath, ""
End Sub
Function StripNulls(OriginalStr As String) As String
If (InStr(OriginalStr, Chr(0)) > 0) Then
OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
End If
StripNulls = OriginalStr
End Function
Function GetAllFilePath(path As String, SearchStr As String)
Dim FileName As String
Dim DirName As String
Dim dirNames() As String
Dim nDir As Integer
Dim i As Integer
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Integer
If Right(path, 1) <> "\" Then path = path & "\"
nDir = 0
ReDim dirNames(nDir)
Cont = True
hSearch = FindFirstFile(path & "", WFD)
If hSearch <> INVALID_HANDLE_VALUE Then
Do While Cont
DirName = StripNulls(WFDcFileName)
If (DirName <> "") And (DirName <> "") Then
If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then
dirNames(nDir) = DirName
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
End If
End If
Cont = FindNextFile(hSearch, WFD)
Loop
Cont = FindClose(hSearch)
End If
hSearch = FindFirstFile(path & SearchStr, WFD)
Cont = True
If hSearch <> INVALID_HANDLE_VALUE Then
While Cont
FileName = StripNulls(WFDcFileName)
If (FileName <> "") And (FileName <> "") Then
GetAllFilePath = GetAllFilePath + (WFDnFileSizeHigh MAXDWORD) + WFDnFileSizeLow
If GetFileAttributes(path & FileName) And FILE_ATTRIBUTE_DIRECTORY Then
List1AddItem path & FileName
End If
End If
Cont = FindNextFile(hSearch, WFD)
Wend
Cont = FindClose(hSearch)
End If
If nDir > 0 Then
For i = 0 To nDir - 1
GetAllFilePath = GetAllFilePath + GetAllFilePath(path & dirNames(i) & "\", SearchStr)
Next i
End If
End Function
'调用方式
'GetSubDirectory 路径名
Private Sub Command1_Click()
'结果列在列表框List1中
List1Clear
GetSubDirectory "c:\windows"
End Sub
天空一滴云,你好,思路是这样的,遍历A目录下所有的文件夹,用move命令将文件夹里的文件都移动到A文件夹内,这个批处理放在和A同级目录,然后执行就可以了
rem
移动文件
for
/f
"tokens=
delims="
%%n
in
('dir
"A"
/b/ad')
do
(
for
/f
"tokens=
delims="
%%a
in
('dir
"%%n"')
do
(
move
"%%a"
"A"
)
)
rem
删除空目录
for
/f
"tokens=
delims="
%%n
in
('dir
"A"
/b/ad')
do
(
rd
"%%n"
)
用DOS命令:
(假设你的这个文件夹是c:\pdf)
dir
c:\pdf\pdf
>
c:\pdf\listtxt
运行完之后到目录下去找一个文件名是listtxt的,打开就是文件名了
以上就是关于批量获取文件夹以及子文件夹下文件数量,输出到Excel表格全部的内容,包括:批量获取文件夹以及子文件夹下文件数量,输出到Excel表格、asp.net获取某一个文件夹下所有的子文件夹、C# 怎么获取一个文件夹内的所有子文件夹(包含子文件夹内的所有子文件夹)。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)