Как создать несколько файлов, похожих на файлы, хранящиеся в одном конкретном месте, используя пакетный скрипт - PullRequest
0 голосов
/ 08 сентября 2018

Я хочу создать несколько файлов, похожих на тот, который я сохранил в каком-то определенном месте. Например, имя файла «MM_MTL_IM_20180726123109», только две последние цифры имени файла должны продолжать изменяться. Можем ли мы достичь этого с помощью пакетного сценария или, пожалуйста, предложите мне другой метод

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Вот базовый пример сценария, который разработан не для повышения эффективности или для того, чтобы быть лучшим методом, а для того, чтобы показать некоторые элементарные команды пакетного файла с их синтаксисом в логической последовательности.

@Echo Off
Set "FullFileName=MM_MTL_IM_20180726123109.ext"

If Not Exist "%FullFileName%" Exit /B

For %%A In ("%FullFileName%") Do (
    Set "FileNameOnly=%%~nA"
    Set "FileExtension=%%~xA"
)

Set "FileNameBarLastTwoChars=%FileNameOnly:~,-2%"
Set "LastTwoFileNameChars=%FileNameOnly:~-2%"

For /L %%A In (100,1,159) Do (
    Set "Seconds=%%A"
    If Not "%%A"=="1%LastTwoFileNameChars%" (
        Call Copy "%FullFileName%" "%FileNameBarLastTwoChars%%%Seconds:~-2%%%FileExtension%"
    )
)

Pause

Вы запросили только «несколько» файлов без объяснения, поэтому вам нужно будет внести изменения в код, если вы не хотите, чтобы этот сценарий copy ваш файл 59 раз, чтобы у вас было шестьдесят соответствующих файлов с разные имена в одном и том же каталоге, каждое из которых имеет действительные секунды.
В вашем вопросе также указано «генерировать», а не copy, поэтому вам придется корректировать код, если предположение copy было неверным.

0 голосов
/ 08 сентября 2018
@echo off
setlocal
set "name=%~1"
set "stem=%name:~,-2%"
for /L %%i in (10,1,59) do copy %name% %stem%%%i

Этот пакетный файл принимает исходное имя файла в качестве параметра и создает его 49 копий, добавляя «10» к «59» вместо последних 2 символов.
В этой простой форме это будет работать, только если исходный файл и копии находятся в том же текущем каталоге.

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