Windows에서 자동으로 파일을 생성합니까?

Windows에서 자동으로 파일을 생성합니까?

마스터 디렉터리에 존재하는 파일의 정확한 이름을 사용하여 USB 스틱에 텍스트/가짜 파일 디렉터리를 다시 생성하고 싶습니다.

마스터 디렉토리는 테라바이트 드라이브에 있으며 USB 스틱에 들어갈 만큼 너무 큽니다. 하지만 USB 스틱을 사용할 때 다른 곳에서 복사본을 다운로드할 때 파일 이름이 충돌하고 싶습니다. 예: 뭔가를 다운로드하려고 하면 "이미 파일 이름이..."라는 메시지가 나타납니다.

새 추가 파일로 마스터 디렉터리를 업데이트하고 결과 가짜 파일의 파일 구조를 USB 스틱으로 직접 이동할 때 이 스크립트(비교적 빠른 경우)를 수동으로 실행해도 괜찮습니다.

최소한 3개 수준의 디렉터리 구조가 있습니다. 나는 (주로) pdf 실제 구조와 비교하여 txt 파일로 간단한 테스트 디렉토리 구조를 구성했습니다. 내가 출력할 때 tree /a /f . > list.txt,:

    Folder PATH listing for volume Windows
    Volume serial number is 00C7-D795
    C:\USERS\USER\DESKTOP\TEST
    |   list.txt
    |   script.bat
    |   script.txt
    |   
    \---Top_Lvl
        |   file-2nd-1.txt
        |   file-2nd-2.txt
        |   file-2nd-3.txt
        |   
        +---2nd_Level-1
        |       file-3rd-1.txt
        |       file-3rd-2.txt
        |       file-3rd-3.txt
        |       
        +---2nd_Level-2
        |   |   file-3rd-4.txt
        |   |   file-3rd-5.txt
        |   |   file-3rd-6.txt
        |   |   
        |   \---3rd_Level-1
        |           file-4th-1.txt
        |           file-4th-2.txt
        |           
        \---2nd_Level-3
                file-3rd-7.txt

PDF 리더가 .pdf 확장자를 가진 파일을 표시하도록 헤더를 작성하는 방법을 모르겠습니다(그러나 실제로는 텍스트 파일입니다). 이는 정말 멋진 보너스가 될 것입니다. 그리고 파일 크기를 텍스트 출력으로 출력하는 명령(내가 알 수 있는 한 속성은 작동하지 않음)을 찾을 수 없습니다. 다른 곳에서 아무것도 찾을 필요 없이 가짜 파일을 클릭하여 실제 파일의 크기를 사용할 수 있으면 멋질 것입니다.

잠재적인 부분 솔루션?

나는 이것을 찾았다:

Windows/파일 이름이 포함된 하위 폴더의 txt 파일 생성

그러나 이는 혼란을 야기하는 것처럼 보이며 한 수준의 디렉토리만 수행합니다.

그리고 그것을 다시 작성/수정했을 때 한 번 작동한 다음 작동을 종료했습니다.

    @echo off

    for /dd %%D in (*) do (
      cd %%~nxD
      tree /a /f > ..\%%~nxD.txt
      cd ..

      echo %%~nxD > dir_info.tmp
      for /f "skip=3 delims=*" %%a in (%%~nxD.txt) do (
        echo.%%a >> dir_info.tmp
      )
      copy /y dir_info.tmp %%~nxD.pdf
      del /f /q dir_info.tmp
    )

결과를 바탕 화면에 놓는 대신 실행되는 디렉토리 내에 덤프합니다. (그리고 기본 바탕 화면에 놓는 방법을 알 수 없습니다. 둘 이상을 사용하는 경우 하드 코딩하는 것과 비교됩니다. 마스터 디렉터리 드라이브에 액세스하려면 컴퓨터/계정을 사용하세요). 그리고 USB 메모리를 지정할 수 있는지 잘 모르겠습니다. USB 메모리는 연결된 항목에 따라 항상 변경될 수 있기 때문입니다.

또한 저는 오래된 Windows 시스템을 자주 사용하기 때문에 배치 파일을 조사하고 있었습니다. 이 작업을 수행하는 앱이 있다면 바퀴를 다시 조각하는 대신 확실히 고려해 보겠습니다.


@eris는 Robocopy를 제안했으며 RichCopy라는 것이 있습니다.

https://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight

하지만 이러한 애플리케이션은실제마스터 디렉토리의 중복 - 마스터 드라이브(그리고 앞서 언급했듯이 작동 중인 USB 스틱)에 여유 저장 공간이 많지 않습니다.

내가 충분히 명확하지 않은 것 같습니다. 나는 확장자를 포함하여 모든 파일 이름(그리고 최적으로는 크기와 같은 실제 파일에 대한 정보)을 포함하지만 최소한의 공간을 갖는 섀도우 디렉토리를 만들려고 합니다. 실제 공간 소비(모든 파일과 디렉토리가 ~블록을 사용하므로)는 1메가바이트 또는 3메가바이트가 될 것이며 수백 기가바이트(예: 50mb 파일, 1mb 파일, 832k 파일, 10mb 파일, 15mb 파일)가 될 것이라고 추측합니다.


명령줄이 올바르게 작동할 수 있다면 robocopy가 제가 원하는 것 같습니다.

ROBOCOPY Top_Lvl Shadow /CREATE

하위 디렉토리를 만들지 않습니다.

답변1

@eris는 올바른 생각을 가지고있었습니다.

명령줄에서:

robocoy *Top_Lvl* *Shadow* /create /mir

마스터 디렉토리를 미러링하는 길이가 0인 파일로 섀도우 디렉토리 구조를 생성하는 것 같습니다. 남은 것은 드라이브에서 이 작업을 수행하는 방법을 알아내는 것입니다. 이는 소스와 대상에 대한 경로를 알아내는 간단한 문제입니다. 그러나 파일과 디렉터리를 덮어쓰기 전에 자동으로 오류가 발생하지 않으므로 주의해서 사용해야 합니다(차선, imho).

정보(원본 파일의 크기)를 제공하는 파일을 만들 수 있는 추가 작업을 수행하지는 않지만 현재로서는 충분한 솔루션입니다.

관련 정보