명령줄 정렬 및 텍스트 파일을 하나의 단일 파일로 복사하면 오류가 발생합니다.

명령줄 정렬 및 텍스트 파일을 하나의 단일 파일로 복사하면 오류가 발생합니다.

알파벳순으로 정렬된 파일을 하나의 단일 파일로 복사하는 방법을 설명하는 질문 217394를 우연히 발견했습니다. 명령을 직접 구현하려고 하면 다음 오류 메시지가 표시됩니다. 시스템이 지정된 파일을 찾을 수 없습니다.
내가 실행하려는 명령은 다음과 같습니다.

for /f %i in ('dir /ad /on /b O:\OrdersExport\Order*.txt') do @type %i >> C:\Users\Admin\Documents\OrderImport.txt

문제의 폴더를 먼저 탐색하면 오류가 나타나지 않습니다.

기:\>오:
C:\>cd 주문가져오기

나는 단순히 한 줄을 대상에서 해당 단일 파일로 복사하고 싶습니다.

그런데 중요한 경우 O:는 네트워크를 통해 매핑된 폴더입니다.

답변1

dir명령은 파일 이름만 나열합니다. 따라서 %i변수는 상대 경로로 채워집니다. 해당 디렉토리에서 명령이 실행되지 않으면 %~fi상대 경로를 절대 경로로 확장하는 데 사용하십시오.

for /f "tokens=*" %i in ('dir /a-d /o-n /b "O:\OrdersExport\Order*.txt"') do (
    @type "%~fi" >> "C:\Users\Admin\Documents\OrderImport.txt"
)
  • tokens=*파일 이름의 공백을 처리하므로 %i항상 출력의 전체 라인입니다 dir.

관련 정보