
알파벳순으로 정렬된 파일을 하나의 단일 파일로 복사하는 방법을 설명하는 질문 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
.