Пакетные файлы для копирования одного файла, созданного с отметкой времени в заголовке.

Я пишу пакеты, назовем их пакетом A и пакетом B. Пакет A выполняет несколько проверок инвентаризации локальной исходной области и облачной области назначения. Затем он перемещает файлы в облако и повторно запускает проверку инвентаризации (dir, aws s3 ls). Инвентарные проверки важны для моей регистрации в партии B.

Пакет B выглядит следующим образом;

@echo off
SET HMSH=%TIME::=%
SET HMSH=%HMSH:.=%

SET MM=%DATE:~4,2%
SET DD=%DATE:~7,2%
SET YYYY=%DATE:~10,4%

SET YMD=%YYYY%%MM%%DD%
SET STAMP=%YMD%%HMSH%
Echo TIME "STAMP" SET TO TITLE THE LOG FILE
@ECHO ON
c:\Users\User\Desktop\BatchA.bat >c:\Users\User\Desktop\AWS\Log_Testing\%STAMP%_NIGHTLYS3.log

COPY c:\Users\User\Desktop\AWS\Log_Testing\%STAMP%_NIGHTLYS3.log J:\AWSNIGHTLYS3LOGS\

Где я установил STAMP, затем запустил BATCHA.bat с созданием журнала в Log_Testing, который использует% STAMP% в имени поля.

Моя логика и поток задач кажутся правильными в том, что команда COPY должна искать точный файл (и только этот файл, чтобы избежать копирования и перезаписи сотен файлов снова и снова) на основе функции STAMP, которая была сгенерирована во время выполнения этого пакета ( должен оставаться неизменным, так как он установлен так же, как и при первой установке).

Единственный способ проверить этот файл (который работает на 100% до команды «Копировать») — запустить его и найти скопированный файл в месте назначения последней строки.

Это не удается, есть идеи?

спасибо всем и заранее извините, я изучал это в течение последнего месяца в ИТ-компании. Я был специалистом по маркетингу, ха-ха, не знаю, как я здесь оказался.


person user3183380    schedule 10.01.2014    source источник
comment
Что значит не получается? Может быть, просто включить ECHO для всего пакета и дать здесь полный вывод?   -  person Robert Horvick    schedule 11.01.2014
comment
Я не верю, что %stamp% это то, чем должно быть. Пожалуйста, сделайте echo -%stamp%- перед @ECHO ON. Каков результат?   -  person Stephan    schedule 11.01.2014
comment
@Bubbafat под ошибкой Я имею в виду, что при проверке папки назначения копирования там ничего нет.   -  person user3183380    schedule 11.01.2014
comment
C:\Users\User>@echo off SET HMSH=%TIME::=% SET HMSH=%HMSH:.=% SET MM=%DATE:~4,2% SET DD=%DATE:~7,2% SET YYYY=%DATE:~10,4% SET YMD=%YYYY%%MM%%DD% SET STAMP=%YMD%%HMSH% @echo on C:\Users\User>echo -%stamp% -2014011016433950 Это результат, который я хочу видеть в своих именах файлов, чтобы я мог инвертировать хронологическую сортировку моих журналов. Также кодеры и менеджеры здесь хотели бы, чтобы имена файлов начинались с этого.   -  person user3183380    schedule 11.01.2014


Ответы (3)


Хм. Теперь нам нужен кто-то, кто будет управлять нашей компьютерной системой. Кто лучший? Ой! маркетолог конечно!

Ваша проблема в том, что вызов управления передачей пакетного файла в этот пакетный файл, поэтому c:\Users\User\Desktop\BatchA.bat ... никогда не возвращается.

Тебе нужно

call c:\Users\User\Desktop\BatchA.bat....
person Magoo    schedule 11.01.2014

Этот код отладки поможет вам сузить круг ошибок:

Может быть, есть место, где его быть не должно.

SET STAMP=%YMD%%HMSH%
echo "%stamp%"
pause
Echo TIME "STAMP" SET TO TITLE THE LOG FILE
@ECHO ON
c:\Users\User\Desktop\BatchA.bat >c:\Users\User\Desktop\AWS\Log_Testing\%STAMP%_NIGHTLYS3.log
if not exist "c:\Users\User\Desktop\AWS\Log_Testing\%STAMP%_NIGHTLYS3.log" (
echo look for a file called "c:\Users\User\Desktop\AWS\Log_Testing\%STAMP%_NIGHTLYS3.log" 
pause
)
person foxidrive    schedule 11.01.2014

Всем спасибо за помощь, нашел решение. проблема заключалась в том, что машина переходила к следующей строке (КОПИРОВАТЬ) и начинала ее выполнение, в то время как последняя строка заканчивала файл журнала.

Я загрузил пару операторов DIR, чтобы сделать паузу перед последней строкой (избегая загрузки новых команд в каждый CMD).

Это исправило последние этапы этой операции, и теперь файл копируется в правильное место.

Еще раз всем спасибо за помощь и помощь в том, чтобы посмотреть на вещи под другим углом.

-Джон

person user3183380    schedule 13.01.2014