Необходимо написать пакетный скрипт для копирования одного файла EXCEL во все подпапки, в которых в данный момент находится файл EXCEL. - PullRequest
0 голосов
/ 24 октября 2018

У меня есть шаблон Excel, который мне нужно будет скопировать в сотни папок.Я хочу создать пакетный скрипт, который будет делать это для меня.

Вот подвох: Мне нужно, чтобы это работало на основе любой папки, в которой находится пакетный файл. Мне нужен скрипт, которыйможет быть запущен из любого каталога, в котором находится пакетный файл , без указания конкретного каталога или места назначения .Сценарий обнаружит этот файл Excel и затем скопирует его в каждую подпапку в этом каталоге.

Все, что я нашел до сих пор, требует указания каталога и места назначения.Я хотел бы что-то, что можно перенести на любой компьютер и работать на основе настройки, показанной ниже:

enter image description here

Возможно ли это?Любая помощь приветствуется!Спасибо.

1 Ответ

0 голосов
/ 24 октября 2018

Сделать текущий рабочий каталог каталогом, в котором существует скрипт .bat, используя PUSHD.Вернитесь в предыдущий каталог с помощью POPD.

@ECHO OFF
PUSHD %~dp0

SET "TEMPLATE_FILE=Property Inspection Form TEMPLATE.xlsm"

IF NOT EXIST "%TEMPLATE_FILE%" (ECHO ERROR: No template file found in "%CD%" & GOTO TheEnd)

FOR /F "delims=" %%d IN ('DIR /B /A:D') DO (
    COPY /Y "%TEMPLATE_FILE%" "%%~d"
)

:TheEnd
POPD
EXIT /B

Если вы хотите скопировать любые и все файлы .xlsm в подкаталоги, вы можете сделать что-то вроде этого.После команды COPY действительно должна быть проверка ошибок, чтобы убедиться, что она работает.

@ECHO OFF
PUSHD %~dp0

FOR /F "delims=" %%d IN ('DIR /B /A:D') DO (
    COPY /Y "*.xlsm" "%%~d"
)

:TheEnd
POPD
EXIT /B
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...