Visual Basic サンプル集 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
ファイルやフォルダーの名前を変更する
2020/10/11
ファイルの名前を変更する
FileIO.FileSystem.RenameFile("C:\FileTest\FolderA\test.txt", "NEWNAME.txt") |
これでもできます。
IO.File.Move("C:\FileTest\FolderA\test.txt", "C:\FileTest\FolderA\NEWNAME.txt") |
これでもできます。
Dim file As New IO.FileInfo("C:\FileTest\FolderA\test.txt") file.MoveTo("C:\FileTest\FolderA\NEWNAME.txt") |
フォルダーの名前を変更する
FileIO.FileSystem.RenameDirectory("C:\FileTest\FolderA", "NEW-FOLDER-NAME") |
これでもできます。
IO.Directory.Move("C:\FileTest\FolderA", "C:\FileTest\NEW-FOLDER-NAME") |
これでもできます。
Dim folder As New IO.DirectoryInfo("C:\FileTest\FolderA") folder.MoveTo("C:\FileTest\NEW-FOLDER-NAME") |
すべてのcsvファイルの名前の末尾に作成日時を _20240627130512 のように付ける
この例は、サブフォルダー(子フォルダー)内は対象にしません。
この例ではたとえば、test.csv → test_20240627130512.csv のようにリネームします。(作成日時が2024年6月27日 13時5分12秒の場合)
csvファイルはワイルドカードで *.csv として指定しているのでここを変更すると他のファイルも対象にできます。
Dim folderFullName
As String =
"C:\FileTest\FolderA"
'対象のフォルダー Dim filePattern As String = "*.csv" '対象の拡張子 'サブフォルダーも対象にする場合、第3引数に SearchOption.AllDirectories を指定します。 'For Each fileFullName As String In IO.Directory.GetFiles(folderFullName, filePattern) '←Visual Basic 2008以前の場合 For Each fileFullName As String In IO.Directory.EnumerateFiles(folderFullName, filePattern) '拡張子なしのファイル名を取得 Dim fileNameFromWithoutExt As String = IO.Path.GetFileNameWithoutExtension(fileFullName) '拡張子を取得 Dim ext As String = IO.Path.GetExtension(fileFullName) '作成日時を取得 Dim creationTime As Date = IO.File.GetCreationTime(fileFullName) '新しいファイル名を生成 'Dim newFileName As String = fileNameFromWithoutExt & "_" & creationTime.ToString("yyyyMMddHHmmss") & ext '←Visual Basic 2013以前の場合 Dim newFileName As String = $"{fileNameFromWithoutExt}_{creationTime:yyyyMMddHHmmss}{ext}" '名前変更を実行 Debug.WriteLine("名前変更 " & fileFullName & " → " & newFileName) FileIO.FileSystem.RenameFile(fileFullName, newFileName) 'IO.File.Move(fileFullName, IO.Path.GetDirectoryName(fileFullName) & "\" & newFileName) '←Visual Basic 2003以前の場合 Next |