.bat
일부 텍스트 파일을 하나의 큰 파일로 연결하는 스크립트가 있습니다 . 결과 파일을 하드코드된 경로 대신 현재 디렉터리로 이동하고 싶습니다.
내 스크립트는 다음과 같습니다.
@echo off
:loop
if ($1) == () goto end
more +9 %1% >> %cd%\bigfile.txt
shift
goto loop
:end
이 내용은 "보내기" 폴더에 저장되어 있으므로 DirectoryA에서 여러 파일을 선택하고 마우스 오른쪽 버튼을 클릭하여 배치 스크립트를 "보내기"할 수 있습니다. 이것은 작동하지만 bigfile.txt가 모든 작은 파일과 동일한 디렉토리에 있기를 원합니다. 아이디어?
답변1
@echo off
setlocal enableextensions disabledelayedexpansion
:loop
if "%~1"=="" goto :eof
more +9 "%~1" >> "%~dp1bigfile.txt"
shift
goto loop
bigfile.txt
소스 파일과 동일한 드라이브 및 경로에 있는 파일( )에 출력을 추가합니다.
답변2
교체함으로써 얻을 수 있는 것
%cd%\bigfile.txt
~와 함께
%cd:~0,2%%~p1
상위 디렉터리까지의 경로에 대한 문자열을 얻습니다(드라이브가 지정됨).