Powershell – tworzenie losowych plików
Po krótkiej przerwie wracam do znośniej formy 😉 więc postanowiłem coś tam naskrobać. Powracam więc od razu z konkretnym skryptem w Powershell, który umożliwia szybkie stworzenie potrzebnej liczby plików o losowym lub nie rozmiarze. Taka funkcja bywa potrzebna, gdy chcemy przetestować prędkość, zapisu, prędkość backupu, czy też wydajność udziałów i zasobów sieciowych.
Jasne, można to osiągnąć używając standardowych narzędzi dostępnych w cmd, ale… kto by się tam jeszcze w cmd bawił 😉 jednak jakby ktoś bardzo potrzebował poniżej jest rozwiązanie tego problemu w cmd: (co prawda tworzy pliki o tym samym rozmiarze, ale jeśli ktoś nie ma jeszcze Powershella…)
For /L %i in (1,1,25) do fsutil file createnew testfile%i.tmp 14400
Powyższe polecenie utworzy 25 plików o nazwach: testfile1.tmp, testfile2.tmp… o rozmiarze 14kB – 14400 bajtów. Wiem, wiem to eleganckie i w jednej linii, ale nie po to zachwycamy się na „specach” nad Powershellem, aby z niego nie korzystać 🙂 Tak czy inaczej… skrypt tworzący pliki będzie wyglądał tak:
function CreateFile { param( [string]$FilePath,[double]$size) $file = [System.IO.File]::Create($FilePath) $file.SetLength($size) $file.Close() Get-Item $file.Name } $maxfiles = 5 for($i=1; $i -le $maxfiles; $i++) { $randomsize = Get-Random -Minimum 1 -Maximum 10 $sizemb = $randomsize*1mb CreateFile -FilePath C:\test\file$i.tst -size $sizemb }
Zmienna $maxfiles odpowiada za… maksymalną liczbę plików jaką stworzyć. W przykładzie powyżej tworzonych jest 5 plików o losowym rozmiarze pomiędzy 1 a 10 MB. Pliki zostaną umieszczone w lokalizacji C:\test i będą się nazywać file1.tst, file2.tst… Jeśli chcielibyście otrzymać inne rozmiary wystarczy odpowiednio zmodyfikować tę linię:
$randomsize = Get-Random -Minimum 1 -Maximum 10
Aby otrzymać rozmiary plików z przedziału 50 i 100 MB wystarczy zapisać to w taki sposób:
$randomsize = Get-Random -Minimum 50 -Maximum 100
Przed uruchomieniem warto sobie policzyć czy nie zapchamy konkretnego dysku czy udziału zbyt dużą ilością plików 😉 Reszta parametrów jest już chyba bardzo czytelna.
Najnowsze komentarze