目的:把上万张图片每100张放到一个文件夹
工具:Visual Studio 2012
构思:先把文件夹内所有文件路径放到数组,然后把总数/100 创建文件夹,再把数组内的文件一个一个放进去
问题1:怎么把数组1-100号文件放到文件夹1 后面以此类推
问题2:我选取文件的时候怎么能只选取.jpg .gif .png 这类的图片文件
求大神解答~
vb.net 怎么把数组分成若干份
答案:3 悬赏:30
解决时间 2021-04-21 16:59
- 提问者网友:房东的猫
- 2021-04-20 17:52
最佳答案
- 二级知识专家网友:初心未变
- 2021-04-20 18:47
不需要用数组:
假设已经存在的图片文件存放在 C:\图片 文件夹里,并假设新创建的文件夹位于C:\图片 文件夹里。
在窗体上添加一个按钮,代码如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n As Long = -1
Dim P As Long = -1
Dim Pn As String
Dim MyNum As Integer = 100 '每100个文件存放在一个文件夹里
Dim MyPath As String
Dim MyFileName As String
Button1.Enabled = False
MyPath = "C:\图片\" '指定已有图片的路径
MyFileName = UCase(Dir(MyPath, FileAttribute.Normal)) ' 找寻第一项。
Do While MyFileName <> "" ' 开始循环。
If InStr(MyFileName, "JPG") <> 0 Or InStr(MyFileName, "GIF") <> 0 Or InStr(MyFileName, "PNG") <> 0 Then
n = n + 1
If n \ MyNum > P Then
P = P + 1
Pn = CStr(n \ MyNum + 1)
MkDir(MyPath & Pn)
End If
FileCopy(MyPath & MyFileName, MyPath & Pn & "\" & MyFileName)
End If
MyFileName = UCase(Dir()) ' 查找下一项
Loop
Button1.Enabled = True
End Sub
代码通过测试。
假设已经存在的图片文件存放在 C:\图片 文件夹里,并假设新创建的文件夹位于C:\图片 文件夹里。
在窗体上添加一个按钮,代码如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n As Long = -1
Dim P As Long = -1
Dim Pn As String
Dim MyNum As Integer = 100 '每100个文件存放在一个文件夹里
Dim MyPath As String
Dim MyFileName As String
Button1.Enabled = False
MyPath = "C:\图片\" '指定已有图片的路径
MyFileName = UCase(Dir(MyPath, FileAttribute.Normal)) ' 找寻第一项。
Do While MyFileName <> "" ' 开始循环。
If InStr(MyFileName, "JPG") <> 0 Or InStr(MyFileName, "GIF") <> 0 Or InStr(MyFileName, "PNG") <> 0 Then
n = n + 1
If n \ MyNum > P Then
P = P + 1
Pn = CStr(n \ MyNum + 1)
MkDir(MyPath & Pn)
End If
FileCopy(MyPath & MyFileName, MyPath & Pn & "\" & MyFileName)
End If
MyFileName = UCase(Dir()) ' 查找下一项
Loop
Button1.Enabled = True
End Sub
代码通过测试。
全部回答
- 1楼网友:温柔刺客
- 2021-04-20 20:12
Dim b() As String
b() = Split(list1.text, " ")
text1.text = b(0)
text2.text = b(1)
是这样用的
不能赋值给具体的数组元素
- 2楼网友:傲娇菇凉
- 2021-04-20 18:58
vb.net已经去掉了控件数组这个类,不过有个代替该方式的一个属性:tag,你可以把这些关联的tag属性设置为同一标记,如:a。然后遍历所有的checkbox并且tag为a的则选定:
protected sub chkall_click()
for each ctl as control in me.controls ''如果checkbox在一个容器里,比如groupbox,那可以用groupbox.controls if ctl.gettype().name.tolower() = "checkbox" then ctype(ctl, checkbox).checked = checkbox3.checked end if next
end sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯