ヘッダー
Visual Basic サンプル集
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

ファイルやフォルダーの名前を変更する

2020/10/11

→ C# のサンプルに切り替える

 

ファイルの名前を変更する

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


FileIO.FileSystem.RenameFile("C:\FileTest\FolderA\test.txt", "NEWNAME.txt")

 

これでもできます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


IO.File.Move("C:\FileTest\FolderA\test.txt", "C:\FileTest\FolderA\NEWNAME.txt")

 

これでもできます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


Dim file As New IO.FileInfo("C:\FileTest\FolderA\test.txt")
file.MoveTo("C:\FileTest\FolderA\NEWNAME.txt")

 

 

フォルダーの名前を変更する

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


FileIO.FileSystem.RenameDirectory("C:\FileTest\FolderA", "NEW-FOLDER-NAME")

 

これでもできます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


IO.Directory.Move("C:\FileTest\FolderA", "C:\FileTest\NEW-FOLDER-NAME")

 

これでもできます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応


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 として指定しているのでここを変更すると他のファイルも対象にできます。

VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

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

Debug.WriteLineが表示される場所