ファイルを新しい名前の新しいフォルダに一括移動しようとしています。ファイルを同様の名前のフォルダに一括移動する方法はありますか?
C:例えば、私はからすべてのファイルを移動したい\猫\
C:\犬
へ:
C:\テスト\猫-1234
C \: \ test \ dog-2477 \
私はこのように移動したい約400のフォルダを持っています。
宛先フォルダには常に元のフォルダ名が含まれます。
ファイルを新しい名前の新しいフォルダに一括移動しようとしています。ファイルを同様の名前のフォルダに一括移動する方法はありますか?
C:例えば、私はからすべてのファイルを移動したい\猫\
C:\犬
へ:
C:\テスト\猫-1234
C \: \ test \ dog-2477 \
私はこのように移動したい約400のフォルダを持っています。
宛先フォルダには常に元のフォルダ名が含まれます。
はい、あるフォルダから別のフォルダにファイルをコピーできます。 API SHFileOperation
:)を使用することもできます:)これは、Windowsが1つのフォルダから別のフォルダにファイルをコピーするときに表示されるアニメーションの外観を提供します:)ここは例です。実際のニーズに合わせて修正してください。
Option Explicit
Private Declare Function SHFileOperation _
Lib "shell32.dll" Alias "SHFileOperationA" _
(lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_COPY = &H2
Sub Sample()
Dim FilePath1 As String, FilePath2 As String
FilePath1 = "C:\cat"
FilePath2 = "C:\test\cat-1234"
'~~> Usage ~~> CopyFolder(From,To)
'~~> Example ~~> CopyFolder("C:\Temp\1","C:\Temp\2")
If CopyFolder(FilePath1, FilePath2) Then
MsgBox "Copied"
Else
MsgBox "Not copied"
End If
End Sub
Private Function CopyFolder(ByVal sFrom As String, _
ByVal sTo As String) As Boolean
Dim SHFileOp As SHFILEOPSTRUCT
On Error GoTo Whoa
CopyFolder = False
With SHFileOp
.wFunc = FO_COPY
.pFrom = sFrom
.pTo = sTo
End With
SHFileOperation SHFileOp
CopyFolder = True
Exit Function
Whoa:
MsgBox "Following error occurd while copying folder " & sFrom & vbCrLf & _
Err.Description, vbExclamation, "Error message"
End Function
ありがとうSiddharth、これは正しいトラックで私を得た! – toolshed
バッチプログラムを書いたとしても、バルクムーブのようなものはないと思いますが、OSはその時点で1つのファイルにしかできません。
VBAを使用してファイルを移動する理由は何ですか?それを行うには、おそらく最も適切な言語ではありません。 – assylias
@assyliasこれを行うには適切な言語は何でしょうか?私がVBAを使用したかったのは、問題があればコードをデバッグできるということだけでした。私はPowerShellスクリプトがおそらく最も良いと思いますが、私はPSにあまり慣れていません。 – toolshed
私はPSにも慣れていませんが、シェルスクリプトがうまくいくと思っていました。 – assylias