기본 Windows XP를 사용하여 파일 목록을 오프라인 사용자에게 전송하는 방법은 무엇입니까?

기본 Windows XP를 사용하여 파일 목록을 오프라인 사용자에게 전송하는 방법은 무엇입니까?

파일이 너무 많아서(100GB) 그 중 일부를 친구에게 주고 싶습니다. 그러나 그는 필요한 파일을 선택해야 하며 나는 그에게 모든 파일을 한 번에 제공할 수 없습니다(저는 그렇게 큰 USB 플래시나 USB HDD가 없습니다). 나는 모든 파일의 목록을 만들고 작은 USB 플래시에 담아 그에게 전송할 수 있습니다. 그러면 그는 자신이 원하는 폴더와 원하지 않는 폴더를 말할 수 있습니다.

표준 Windows XP 설치나 WindowsExplorer와 같은 작은 프로그램에서 쉽게 볼 수 있는 파일 목록을 어떻게 만들어야 합니까? 나는 ls -lR-like 목록을 작성하여 txt로 저장할 수 있지만 내 친구가 이 목록을 보는 것은 어려울 것입니다. diskdir저장된 파일의 이름과 경로만 사용하여 폴더를 텍스트 파일로 보관할 수 있는 Total Commander 플러그인이 있습니다 . 그런 다음 이 플러그인을 사용하면 Total Commander가 zip 또는 arj 내부처럼 이 아카이브 내부로 이동할 수 있습니다. 하지만 내 생각에 Total Commander는 내 친구가 사용하기 너무 어려워서 Windows 탐색기와 유사한 솔루션에 대해 묻고 있습니다(예: winzip을 사용하면 Explorer가 zip 아카이브 내부로 이동할 수 있으며 나는 다음과 같은 것을 원합니다).

그래서. 어떤 프로그램이든 설치할 수 있고, USB 플래시에 파일 목록과 함께 뷰어 프로그램을 저장할 수도 있습니다.

답변1

얻을 수 있다고 가정하면파워셸 v2로컬 컴퓨터에 설치되어 있거나 이미 설치되어 있는 경우 다음 스크립트를 사용하여 원하는 작업을 수행할 수 있습니다(Powershell v1에서 작동할 수도 있지만 확실하지는 않습니다).

$dupedir = "D:\Backup"
$newdir = "C:\Temp"
$dupelist = Get-ChildItem -Force -Recurse -ErrorAction SilentlyContinue $dupedir

foreach ($item in $dupelist) 
{
    If ($item -is [Io.DirectoryInfo])
    {
        $itemtype = "directory"
    }
    If ($item -is [Io.FileInfo])
    {
        $itemtype = "file"
    }

    New-Item -Force -type $itemtype -Path $item.FullName.Replace("$dupedir","$newdir")
}

$dupedir친구에게 알리고 싶은 경로의 루트로 경로를 변경하세요 . 이 스크립트 실행이 완료되면 친구가 C:\Temp(또는 변수에 대한 디렉터리를 변경하는 경우 다른 곳)에서 살펴볼 수 있도록 파일 구조(실제 파일은 아님)의 정확한 미러가 있어야 합니다 $newdir. $newdir변수를 변수의 디렉토리 안에 두지 않으면 $dupedir무한 재귀가 발생하여 결국 모든 디스크 공간을 소비하게 됩니다("파일"이 0바이트 파일인 경우에도).

powershell의 좋은 점은 명령줄에서 스크립트를 "작성"할 수 있다는 것입니다(bash와 유사). 코드를 텍스트 편집기에 복사하고 경로를 변경한 다음 전체 내용을 복사하여 Powershell 창에 붙여넣으면 마법 같은 일이 일어날 것입니다.

나는 당신이 bash를 가지고 있다고 언급했다는 것을 알고 있습니다. 만약 당신이 이것을 unix/linux 머신에서 원한다면 나는 bash에서 그것을 할 수 있었을 것입니다. 불행하게도 나는 Windows 파일 시스템을 조작해야 할 때 bash 스크립팅을 잘 사용하지 못했습니다.

답변2

명령 을 사용하면 됩니다 dir /s > C:\temp\filename.txt. 그러면 디렉터리 구조가 C:\temp\filename.txt 파일로 출력됩니다. 내려가고 싶은 위치에서 시작하세요.

그런 다음 그에게 TXT 파일을 보내십시오.

답변3

zip 파일을 사용하지 않는 이유는 무엇입니까? 하나의 창에서 모든 파일을 볼 수 있지만 다른 폴더에 추출할 수도 있습니다.

답변4

나는 언젠가 이 질문에 대해 생각해 보았고 두 가지 해결책을 발견했습니다. 가장 좋은 것은 다음과 같습니다.

사용CDCAT이는 DVD나 하드 드라이브와 같은 파일 시스템 트리를 색인화하고(인덱스에 큰 파일을 저장하지 않고) 여러 개의 파일을 하나의 카탈로그에 저장할 수 있는 프로그램입니다. 이 프로그램은 음악(ID3 태그) 및 비디오(해상도, 재생 시간 등)의 메타 정보도 카탈로그에 포함하므로 이러한 작업을 위해 선택한 프로그램일 것입니다. 또 다른 좋은 기능은 cdcat이 색인된 디렉터리나 파일(노드)의 크기를 계산할 수 있다는 것입니다.

모든 메타 정보(및 이렇게 구성한 경우 nfo와 같은 작은 파일)를 압축된 XML 파일에 저장합니다. 귀하(A 사람)의 파일을 다른 사람(B)에게 복사하려면 그 사람(B)이 실제로 원하는 것을 선택할 수 있도록 허용한 후 다음과 같이 작동할 수 있습니다.

  1. A 사람은 관심 있는 파일을 모두 색인화하고(nfo, ID3 태그 등과 같은 파일이 포함될 것인지 확인하기 전에 cdcat의 설정을 확인해야 함) 이를 하나의 카탈로그로 저장합니다.
  2. A라는 사람이 카탈로그를 B라는 사람에게 복사합니다.
  3. 이제 B라는 사람은 어떻게든 파일을 선택해야 합니다. 각 노드(디렉토리나 파일)에 추가할 수 있는 카테고리 필드를 활용하자는 아이디어가 떠올랐습니다. 예를 들어 이 필드는 우선순위로 사용될 수 있습니다. 재귀적으로 연결된 범주가 없거나 특수 범주가 있는 노드는 나중에 복사되지 않습니다. 카테고리는 XML 파일에도 저장되며 원하는 파일을 모두 복사하기 위해 .bat 스크립트 또는 Bash 스크립트 등을 내보내는 파서를 작성하는 것은 그리 어렵지 않습니다.
  4. B 사람은 A 사람에게 OS별 복사 스크립트를 제공합니다(또는 B가 수정된 카탈로그를 돌려주고 A가 복사 스크립트를 생성하도록 함).
  5. A라는 사람은 복사 스크립트를 실행하고 B에게 데이터 매체를 제공합니다. (cdcat은 데이터가 인덱싱된 마운트 지점의 경로를 카탈로그에 저장하지 않기 때문에 조금 불편할 수 있습니다.)
  6. B라는 사람은 파일을 자신의 저장소에 복사하고 데이터 매체를 A라는 사람에게 다시 건네줍니다.

이 솔루션은 아직 완벽하지는 않지만 제가 생각해낸 솔루션 중 최고입니다. 나는 이것을 아직 사용하지 않았지만 앞으로는 그렇게 할 것입니다. 이 과정에서 Linux 및 Windows용 복사 스크립트를 생성하는 일부 확장 기능이나 스크립트를 작성해야 합니다. 내 계획은 이것을 cdcat 프로그램에 직접 포함시키는 것입니다.

멘토링할 가치가 있는 두 번째이자 보다 정교한 솔루션은 다음과 같습니다.자식-별관이는 아마도 이것에도 사용될 수 있지만, 이 두 번째 접근 방식은 어떻게든 두 사람(A와 B)이 git-annex를 가지고 있고 그것을 사용하는 방법을 알아야 하기 때문에 cdcat을 사용한 솔루션만큼 주의깊게 생각하지 않았습니다.

나는 당신에게 최신 소식을 알려 드리겠습니다.

관련 정보