[VB.net] filename問題

2010-04-07 10:54 pm
交代下我個背景先:

宜家有好多data既file名(ex. 04-01-10 ) 姐係2010年1月4日 之後會有好多類似既日期file名 而d file會定期sd落一個data folder度 之後當做完哂所有野 我就會save as file去個data backup foler度再empty個data folder

我想問以下動作既code:

1. 首先我會去check有無file存在係個data folder度先(因為我想要有file存在先叫佢做野)

2. 其實我凈係想認到"10"呢個最尾呢兩個字 再=番我想做既野
例如 if last two word of filename = "10" then (唔知到實際既code係點)
xxxxx
end if
因為會有好多年份 ex. 11, 12, 13 而我每個年份都會做唔同既野

唔該哂
更新1:

data file名係唔可以改動

回答 (4)

2010-04-08 8:52 am
✔ 最佳答案
VB.net 當然要用 .NET Framework

Imports System.IO

Private Sub My_Routine()
' 將檔名放入array
Dim files() As String = Directory.GetFiles("C:\Temp\Mydata")
Dim file As String
For Each file In files ' 如果files array 是空的下面程式不會執行
Dim i As Integer = file.IndexOf(".") ' 找副檔名位置
Dim filename As String = file.Substring(0, i) ' 除去副檔名
If filename.Substring(i - 2, 2) = "10" Then ' 檔名最後兩字
' do your work
' 變數 file 仍是原來檔名
End If
Next
End Sub
2010-04-08 2:33 am
如果是我:...

Dim strF As String
strF = Dir(MY_DIR_NAME & "\\*-10")
Do While strF <> ""
'做想做既野...
strF = Dir()
Loop
2010-04-08 1:49 am
經驗分享,未必準確

如果俾我,我會用一個 Array(8) 去儲存個 File Name
然後再用 Array(2) 去儲存 Array(6) 同 Array(7) 的值
再用個 Array(2) 去做 IF

例:

Dim FileName = "04-01-10"
Dim FileNameArray = FileName.ToCharArray()
Dim Year = FileNameArray(6) + FileNameArray(7)

IF Year = "10" Then
' Do Sth you need
End IF

2010-04-07 17:52:17 補充:
補答第一題

如果想睇下有無檔案存在,可用

My.Computer.FileSystem.FileExists( "FilePath" )

它會回傳一個 Boolean 值,如檔案存在,回傳 True,否則,回傳 False
2010-04-08 12:59 am
要全日期咪得, 甘麻煩, 2010,2012, 2011,1999


收錄日期: 2021-04-26 13:13:09
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100407000051KK00887

檢視 Wayback Machine 備份