отправить вывод пакетного файла в текущий каталог

отправить вывод пакетного файла в текущий каталог

У меня есть .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

он получает строку пути к родительскому каталогу (с указанным диском)

Связанный контент