전체 파일 경로의 문자 수를 계산하시겠습니까?

전체 파일 경로의 문자 수를 계산하시겠습니까?

Windows에서 파일의 전체 경로에 있는 문자 수를 계산할 수 있어야 합니다. 현재 이 작업을 수행하는 방법은 다음과 같습니다.

  1. 명령 프롬프트 열기
  2. 문제의 디렉터리(예: c:\CruiseControl\ProjectArtifacts\ProjectName)로 cd합니다.
  3. 다음 명령을 입력하세요 dir /s /b > 출력.csv
  4. Excel에서 결과 output.csv 파일을 엽니다.
  5. 사용=렌()Excel에서 함수를 사용하여 output.csv 파일에 나열된 행당 문자 수를 계산합니다.

Excel에서 dir의 출력을 조작할 필요 없이 이 기능을 수행할 수 있는 탐색기 셸 확장이나 일부 타사 도구를 아는 사람이 있습니까? 이 작업을 수행하는 더 쉬운 방법이 있습니까? 내가 겪고 있는 문제의 근본 원인은 Windows의 최대 260자 파일 경로 제한입니다. 이 오류가 발생하지 않도록 경로를 줄일 수 있도록 대략 260자 정도의 경로를 분석하려고 합니다.

답변1

이런 일은 아주 쉽게 할 수 있어요해밀턴 C 쉘. 이번 일회성이라면 만족하실 겁니다.무료 버전. 다음은 c:\Windows디렉터리에 있는 여러 파일의 전체 경로를 생성한 다음 문자열 길이를 계산하는 예입니다 . 전체 공개: 저는 저자입니다.

128 C% cd
c:\Windows
129 C% ls mi*
Microsoft.NET      Minidump           mib.bin
130 C% foreach i ( mi* )
131 C? @ f = fullpath ( i )
132 C? echo $i $f $strlen(f)
133 C? end
mib.bin c:\Windows\mib.bin 18
Microsoft.NET c:\Windows\Microsoft.NET 24
Minidump c:\Windows\Minidump 19
134 C%

답변2

아마도 이러한 간단한 배치 파일이 유용할 것입니다.

1) 현재 디렉토리의 문자 수 계산:

@echo off
echo %cd%>"%TMP%\Temp.txt"
for %%l in ("%TMP%\Temp.txt") do set /a len=%%~zl
del "%TMP%\Temp.txt"
set /a len-=2
echo Path length = %len% chars.

cd디렉토리에. 배치 파일을 호출하면 됩니다.

2) 지정된 디렉토리의 문자 수 계산:

@echo off
echo %1>"%TMP%\Temp.txt"
for %%l in ("%TMP%\Temp.txt") do set /a len=%%~zl
del "%TMP%\Temp.txt"
set /a len-=4
echo Path length = %len% chars.

배치 파일을 호출하고 전체 경로를 인수로 전달합니다. 경로에 공백이 포함된 경우 따옴표를 사용해야 합니다. 오류 검사는 수행되지 않으므로 경로에 공백이 포함된 경우 따옴표를 생략하면 잘못된(낮은) 개수가 제공되고 끝에 추가 백슬래시를 추가하면 개수가 늘어납니다.

답변3

이것은 귀하의 질문에 대한 답변은 아니지만 귀하의 문제를 해결합니다. 유형

dir /s /b | findstr -r ...............................................................................................................................................................................................................................................................

위 그림에서는 마침표 255개를 입력했습니다. 이렇게 하면 이미 알고 있는 가 수행되고 dir /s /b길이가 255자 이상인 줄(파일 경로 이름)만 표시됩니다. 원하는 대로 기간 수를 조정하세요. 당연히 인쇄나 기타 분석을 위해 위의 출력을 파일로 리디렉션할 수 있습니다.

관련 정보