实时错误 '53' : 文件未找到。
vb吧
全部回复
仅看楼主
level 2
ZLY199377 楼主
  想做一个遍历文件夹目录后将读取出来的文件名和修改日期输出到一个记事本里,可是无论我使用For语句还是Do语句都会弹出“文件未找到”的提示,问题出现在使用“FileDateTime”函数转换文件日期的自定义变量上。不过虽然每次都提示文件未找到,但是有时候会向目标记事本输出成功。这究竟是怎么回事?
图一:
图二:
2025年09月11日 07点09分 1
level 2
ZLY199377 楼主
  代码在下面,谁复制一下帮忙研究研究,本人已江郎才尽。
Private Sub Form_Load()
Dim X As String
Dim Y As String
Dim Z As String
X = "D:\"
Y = "E:\Test.txt"
Open Y For Append As #1
X = Dir(X)
Do While Len(X) > 0
Z = Format(FileDateTime(X), "yyyy-mm-dd hh:nn:ss")
Print #1, X & " 最后修改日期: " & Z
X = Dir()
Loop
Close #1
End Sub
2025年09月11日 08点09分 2
level 2
ZLY199377 楼主
  问题已解决,把“FileDateTime(X)”改成了“FileDateTime("D:\" & X)”就OK了!原因是“FileDateTime”函数需要路径的支持。
2025年09月11日 12点09分 3
你为什么要写X=Dir(X)呢?加个变量储存Dir的结果不好么
2025年09月11日 12点09分
@初音✨七奈 新手,不会写啊。这个变量储存Dir我听都听不懂,所以应该怎么写啊?
2025年09月11日 13点09分
@ZLY199377 没事,你能做出想要的结果来就行了
2025年09月11日 14点09分
@初音✨七奈 这段代码写的挺好啊,不是听不懂变量的人写的。
2025年09月12日 00点09分
level 2
ZLY199377 楼主
  把代码重新修改了一遍,虽然有点儿笨,但是效果达到了。
Private Sub Form_Load()
Dim A As String
Dim X As String
Dim Y As String
Dim Z As String
A = "D:\"
X = "E:\Test.txt"
Y = "D:\"
Open X For Append As #1
Y = Dir(Y)
Do While Len(Y) > 0
Z = Format(FileDateTime(A & Y), "yyyy-mm-dd hh:nn:ss")
Print #1, A & Y & " 最后修改日期: " & Z
Y = Dir()
Loop
Close #1
End Sub
2025年09月12日 08点09分 4
这不就是加了个变量A么,然后Y的初始值就没必要是"D:\"了,直接从Y=Dir(A)开始就好
2025年09月12日 11点09分
也就是说,把变量A和Y的功能分离,A表示文件夹路径,Y表示文件名,而不是让Y一个变量来做这两件事情
2025年09月12日 12点09分
@初音✨七奈 是这样的,因为我在反复测试中发现,设定好的路径被Dir文件后就失去了路径的意义,所以需要另一个变量来表示路径。我目前的编程水平就这样了,莫非你还有更好的方法吗?
2025年09月13日 09点09分
1