source

Windows 시스템에 대용량 파일 빠르게 생성

manysource 2023. 4. 10. 22:02

Windows 시스템에 대용량 파일 빠르게 생성

Linux 시스템에서 큰 파일을 빠르게 생성하기와 같은 맥락에서 Windows 시스템에서 큰 파일을 빠르게 만들고 싶습니다.대체로 5GB로 생각하고 있습니다.내용은 중요하지 않습니다.빌트인 명령이나 짧은 배치 파일이 좋지만, 다른 쉬운 방법이 없다면 신청을 받아들이겠습니다.

fsutil file createnew <filename> <length>

서 ''는<length>바이트 단위입니다.

예를 들어 'test'라는 이름의 1MB(Windows MB 또는 MiB) 파일을 만들려면 이 코드를 사용할 수 있습니다.

fsutil file createnew test 1048576

fsutil에는 관리자 권한이 필요합니다.

Sysinternals Contig 도구를 사용할 수 있습니다.이 있습니다.-n지정된 크기의 새 파일을 만드는 스위치입니다.★★★★★★★★★★★★★★★와 달리fsutil관리자 권한이 필요하지 않습니다.

스파스 파일뿐만 아니라 데이터로 대용량 파일을 생성하는 방법을 찾고 있었습니다.다음과 같은 기술을 알게 되었습니다.

실제 데이터가 포함된 파일을 생성하려면 다음 명령줄 스크립트를 사용할 수 있습니다.

echo "This is just a sample line appended to create a big file.. " > dummy.txt
for /L %i in (1,1,14) do type dummy.txt >> dummy.txt

(위의 2개의 명령어를 차례로 실행합니다.그렇지 않으면 배치파일에 추가할 수 있습니다.

위의 명령어는 1MB 파일 더미를 만듭니다.몇 초 안에 txt...

에 10GB 파일을 사용할 수 .fsutil파일이 입니다(@sparse 파일이 생성됩니다(@ZXX).

@echo off

:: Create file with 2 bytes
echo.>file-big.txt

:: Expand to 1 KB
for /L %%i in (1, 1, 9) do type file-big.txt>>file-big.txt

:: Expand to 1 MB
for /L %%i in (1, 1, 10) do type file-big.txt>>file-big.txt

:: Expand to 1 GB
for /L %%i in (1, 1, 10) do type file-big.txt>>file-big.txt

:: Expand to 4 GB
del file-4gb.txt
for /L %%i in (1, 1, 4) do type file-big.txt>>file-4gb.txt

del file-big.txt

10GB 파일을 만들고 싶었지만, 어떤 이유로 4GB밖에 표시되지 않았기 때문에 안전을 위해 4GB에서 정지했습니다.operating system이나 그 외의 애플리케이션에 의해서 파일이 올바르게 처리되도록 하려면 , 1 GB 로 확장하지 말아 주세요.

RDFC http://www.bertel.de/software/rdfc/index-en.html 를 확인해 주세요.

RDFC가 가장 빠르지는 않지만 데이터 블록을 할당합니다.가장 빠른 사람은 낮은 수준의 API를 사용하여 클러스터 체인을 가져와 데이터를 쓰지 않고 MFT에 저장해야 합니다.

여기서 '작성'이 즉시 반환되는 경우 큰 파일을 위조할 수 있는 스파스 파일을 얻을 수 있지만 쓰기 전에는 데이터 블록/체인을 얻을 수 없습니다.'매우 빠른 제로'를 읽으면 드라이브가 갑자기 엄청나게 빨라졌다고 믿을 수 있습니다. :-)

매니저를 큰 를 Create dump file.

그러면 임시 폴더의 메모리 내 프로세스 크기에 상대적인 파일이 생성됩니다.

기가바이트 단위의 파일을 쉽게 만들 수 있습니다.

여기에 이미지 설명을 입력하십시오.

여기에 이미지 설명을 입력하십시오.

Windows Server 2003 자원 키트툴을 확인합니다.Creatfil이라는 유틸리티가 있습니다.

 CREATFIL.EXE
 -? : This message
 -FileName -- name of the new file
 -FileSize -- size of file in KBytes, default is 1024 KBytes

Solaris의 mkfile과 비슷합니다.

최근에 공간이 할당된 큰 더미 파일을 만드는 방법을 찾고 있었습니다.모든 해결책이 어색해 보입니다. ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★DISKPARTWindows 의이 ( Windows Vista ) :

DISKPART
CREATE VDISK FILE="C:\test.vhd" MAXIMUM=20000 TYPE=FIXED

여기서 MAXIMUAL은 결과 파일 크기입니다.여기에는 20GB입니다.

에 하는 PowerShell C:\TempC를 : : 10MB만 남습니다.

[io.file]::Create("C:\temp\bigblob.txt").SetLength((gwmi Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace - 10MB).Close

하는 것 에, 및 (「Windows」, 「Python」Windows 「Linux」)에서 4 행의 할 수 .os.stat()을 사용법)

>>> f = open('myfile.txt','w')
>>> f.seek(1024-1) # an example, pick any size
>>> f.write('\x00')
>>> f.close()
>>> os.stat('myfile.txt').st_size
1024L
>>>

용도:

/*
Creates an empty file, which can take all of the disk
space. Just specify the desired file size on the
command line.
*/

#include <windows.h>
#include <stdlib.h>

int main (int argc, char* ARGV[])
{
    int size;
    size = atoi(ARGV[1]);
    const char* full = "fulldisk.dsk";
    HANDLE hf = CreateFile(full,
                           GENERIC_WRITE,
                           0,
                           0,
                           CREATE_ALWAYS,
                           0,
                           0);
    SetFilePointer(hf, size, 0, FILE_BEGIN);
    SetEndOfFile(hf);
    CloseHandle(hf);
    return 0;
}

제가 찾은 가장 간단한 방법은 무료 유틸리티입니다.

공백으로 채워지거나 압축할 수 없는 내용으로 채워진 임의 크기의 더미 파일을 만듭니다.다음은 스크린샷입니다.

여기에 이미지 설명 입력

https://github.com/acch/genfiles에서 설정할 수 있는 뛰어난 유틸리티를 찾았습니다.

타깃 파일을 랜덤 데이터로 채우는 것으로, 스파스 파일에는 문제가 없고, 제 목적(압축 알고리즘 테스트)에서는 화이트 노이즈 레벨도 양호합니다.

http://www.scribd.com/doc/445750/Create-a-Huge-File,에서 DEBUG를 사용하여 솔루션을 찾았는데 스크립팅하는 방법을 잘 몰라서 1GB보다 큰 파일을 만들 수 없는 것 같습니다.

임시 파일은 Windows Temp 폴더에 저장해야 합니다.Rod의 답변에 따라 다음 1개의 라이너를 사용하여 파일 이름을 반환하는 5GB 임시 파일을 만들 수 있습니다.

[System.IO.Path]::GetTempFileName() | % { [System.IO.File]::Create($_).SetLength(5gb).Close;$_ } | ? { $_ }

설명:

  • [System.IO.Path]::GetTempFileName()는, Temp 에 합니다.
  • 은 이 을 이이라 the the에 전달하기 됩니다.[System.IO.File]::Create($_)됩니다.
  • 은 새로 됩니다..SetLength(5gb)PowerShell이 바이트 변환을 지원한다는 사실을 알고 조금 놀랐습니다. 이는 매우 유용합니다.
  • ..close 프로그램이 수 있도록 합니다.
  • 와 함께;$_파일명이 반환되어| ? { $_ }파일 이름만 반환되고 빈 문자열은 반환되지 않습니다.[System.IO.File]::Create($_)

플레인 ol' C...이는 Windows XX의 MinGW GCC에서 구축되며 모든 '범용' C 플랫폼에서 작동합니다.

지정된 크기의 늘파일을 생성합니다.결과 파일은 단순히 디렉토리 공간을 점유하는 엔트리가 아니라 지정된 바이트 수를 차지합니다.닫기 전에 쓴 바이트를 제외하고는 실제 쓰기가 발생하지 않으므로 이 속도가 빠릅니다.

이 인스턴스는 0으로 가득 찬 파일을 생성합니다.이것은 플랫폼에 따라 다를 수 있습니다.이 프로그램은 기본적으로 모든 데이터에 대해 디렉토리 구조를 설정합니다.

#include <stdio.h>
#include <stdlib.h>

FILE *file;

int main(int argc, char **argv)
{
    unsigned long  size;

    if(argc!=3)
    {
        printf("Error ... syntax: Fillerfile  size  Fname \n\n");
        exit(1);
    }

    size = atoi(&*argv[1]);

    printf("Creating %d byte file '%s'...\n", size, &*argv[2]);

    if(!(file = fopen(&*argv[2], "w+")))
    {
        printf("Error opening file %s!\n\n", &*argv[2]);
        exit(1);
    }

    fseek(file, size-1, SEEK_SET);
    fprintf(file, "%c", 0x00);
    fclose(file);
}

다음의 C++ 코드를 시험할 수 있습니다.

#include<stdlib.h>
#include<iostream>
#include<conio.h>
#include<fstream>
#using namespace std;

int main()
{
    int a;
    ofstream fcout ("big_file.txt");
    for(;;a += 1999999999){
        do{
            fcout << a;
        }
        while(!a);
    }
}

CPU 속도에 따라 생성에 시간이 걸릴 수 있습니다.

cat powershell 명령어를 사용할 수 있습니다.

먼저 몇 글자로 된 간단한 텍스트 파일을 만듭니다.첫 글자를 많이 입력할수록 더 빨리 커집니다.한번 불러볼까요?txt. 그리고 파워셸:

cat out.txt >> out.txt

파일을 충분히 크게 만들어야 할 때까지 기다립니다.그런 다음 ctrl+c를 눌러 종료합니다.

... 1 MB 파일 더미txt를 몇 초 이내에 실행합니다.

echo "This is just a sample line appended to create a big file.. " > dummy.txt 
for /L %i in (1,1,14) do type dummy.txt >> dummy.txt

http://www.windows-commandline.com/how-to-create-large-dummy-file/ 를 참조해 주세요.

실행이 빠르거나 키보드로 빠르게 입력할 수 있습니까?Windows에서 Python을 사용하는 경우 다음을 시도해 보십시오.

cmd /k py -3 -c "with open(r'C:\Users\LRiffel\BigFile.bin', 'wb') as file: file.truncate(5 * 1 << 30)"

Python의 간단한 답변:만약 당신이 큰 실제 텍스트 파일을 만들어야 한다면, 나는 단지 간단한 것을 사용했을 뿐이다.while5GB 파일을 약 20초 만에 작성할 수 있었습니다.조잡한 건 알지만, 충분히 빨라요.

outfile = open("outfile.log", "a+")

def write(outfile):
    outfile.write("hello world hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world"+"\n")
    return

i=0
while i < 1000000:
    write(outfile)
    i += 1
outfile.close()

또 다른 GUI 솔루션: WinHex.

“File” > “New” > “Desired file size” = [X]
“File” > “Save as” = [Name]

이미 제안된 솔루션 중 일부와 달리 실제로는 (빈) 데이터를 장치에 씁니다.

또한 새로운 파일을 선택 가능한 패턴 또는 랜덤 데이터로 채울 수도 있습니다.

“Edit” > “Fill file” (or “Fill block” if a block is selected)

같은 것에 몇 가지 추가했습니다.fsutil선택한 답변에 기재되어 있는 방법.이는 다양한 확장자 및/또는 다양한 크기의 파일을 만들기 위한 것입니다.

set file_list=avi bmp doc docm docx eps gif jpeg jpg key m4v mov mp4 mpg msg nsf odt pdf png pps ppsx ppt pptx rar rtf tif tiff txt wmv xls xlsb xlsm xlsx xps zip 7z
set file_size= 1
for %%f in (%file_list%) do (
fsutil file createnew valid_%%f.%%f %file_size%
) > xxlogs.txt

이 코드는 https://github.com/iamakidilam/bulkFileCreater.git 에서 복제할 수 있습니다.

언급URL : https://stackoverflow.com/questions/982659/quickly-create-large-file-on-a-windows-system