質問: batまたはpowershellを使用して、ファイルを含むフォルダーを50mbのサブフォルダーに分割します。 さまざまなサイズの24kテキストファイルを含む700mbのフォルダーがあります。行制限が10ラク行であるため、vbaを使用してexcelで処理できるように、それぞれが最大50mbのサイズの新しいフォルダーを作成したいと思います。どんな助けでもありがたいです。
回答: 私もこれを行うことに興味があったので、これが私が使用するpowershellコードです。これにより、メインフォルダーのすべてのファイルが取得され、10mbのサブフォルダーに移動されます。値と名前を必要に応じて自由に調整してください。# replace with your base folder's path $basefolder = "c:\users\you\myhugefolder" # replace with the desired value for the subfolders to create $maxsubfoldersize = 10mb # get all files contained in your base folder (could use the -recurse switch if needed) $allfiles = get-childitem $basefolder # setting the subfolders naming convention : a name and a suffix $basesubfolder = "subfolder-" [int]$index = 0 # creating the first subfolder $subfolder = "subfolder-" + "$index" new-item -path $subfolder -type directory -force # now processing the files foreach ($file in $allfiles) { # evaluating the size of the current subfolder $subfoldersize = ((get-childitem $subfolder -recurse | measure-object -property length -sum -erroraction stop).sum / 1mb) # if the current subfolder size is greater than the limit, create a new subfolder and begin to copy files in it if([int]$subfoldersize -gt [int]$maxsubfoldersize/1mb) { $index++ $subfolder = $basesubfolder + $index new-item -path $subfolder -type directory -force write-verbose -message "created folder $subfolder" move-item $file.fullname -destination $subfolder } # if the current subfolder is not yet greater that the limit, continue copying files in it else { move-item $file.fullname -destination $subfolder } } お役に立てれば !