У меня есть .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
он получает строку пути к родительскому каталогу (с указанным диском)