![]() |
Переименование и копирование файлов
Добрый день! Хочу создать батник, который бы переименовывал файлы в папке и копировал их в итоговую "Total"
Есть две папки, "1" и "2" и в обеих лежат файлы c именами: check1,check2,check3.... и т.д Нужно чтобы нумерация начиналась с 001 и к имени добавлялся номер папки. например check001_1, check002_1, check003_1 - это для папки "1" и например check001_2, check002_2, check003_2 - для папки "2" файлов может быть более тысячи Для меня это нереально( Пробовал только переименовывать вот таким кодом for /f "tokens=*" %%a in ('dir /b C:\Onkassa\Rename\1\*.*') do ren C:\Onkassa\Rename\1\%%a 001_1%%a в итоге переименован только первый файл 001_1check |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
|
Тем не менее благодарю за попытку!!
|
Iska, Кто хочет сделать - ищет способ, кто не хочет - причину. :biggrin:
Вот вариант (скрипт 1)
Код:
@Echo Off Главное, чтобы выдерживалось правило образования имени : ПрефиксНомерРасширение. Расширение может и отсутствовать, тогда: Set "Mask=%Pref%*." Предполагаю, что обе подпапки находятся в общей папке. Имена корневой папки, подпапок, выходной папки укажите сами. Кстати, число подпапок в моём решении произвольно, извольте их перечислить. Укажите префикс в именах файлов, в Вашем вопросе он check Можно задать формат номера в новом имени. Для Max=1000 номер будет трёхзначным, например, 001 Для Max=10000 номер будет четырёхзначным, например, 0002 В выходную папку копируются файлы с новым именем. В исходной папке файлы переименовываются. Если не надо, чтобы переименовывались файлы в исходной папке, уберите строку с ren |
Цитата:
|
Цитата:
кто хочет передвигаться быстро, садится на транспорт и едет, а кому надо просто добраться и у него времени "вагон", тот может и пешком ходить... :) |
Цитата:
Неточная цитата
Цитата:
|
Цитата:
|
Iska,
Цитата:
Вот попытка работать без определённого префикса. Но, опять же, приходится телепатить правило образования имени: КусокимениНомерРасширение. (скрипт 2)
Код:
@Echo Off Не очень тестировал, подозреваю, этот алгоритм можно обмануть Цитата:
|
Цитата:
|
Цитата:
Цитата:
И да, данную задачу, можно свести к возможному минимуму ошибок, при стелепатированных условиях: 1. номера файлов присутствуют в конце имени файла или отсутствуют... 2. все цифры в конце имен файлов могут являться только счетчиком, а могут и не являться... 3. остальные цифры в именах и расширениях файлов, являются только текстовой частью. В общем, если не стоит задачи перенумеровать счетчик файлов, а использовать существующую нумерацию: powershell Код:
# Можно использовать абсолютный или относительный путь |
Цитата:
Цитата:
Потому — утром |
Цитата:
На счет частично - это как? Полуцифра? :) Цитата:
Код:
'_{0:D3}_' -f $n В общем, поэкспериментируйте с кодом, лучше один раз увидеть, всё же... Цитата:
- Можно... но деньги вперед! :) |
Цитата:
Скрытый текст
![]() Начинаем искать постоянную часть имени :). Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
да и после запуска батника, у меня он "не съел" некоторые тестовые файлы... вот и решил "поучаствовать"... ну и собственно, батник гибридный сварганить - разве это сложно? |
Цитата:
Цитата:
такое
CMD/BAT + javascript: два в одном (Страница 1) — CMD/BAT — Коллекция скриптов и идей — Серый форум
JScript:CMD - вариант с условной компиляцией (Страница 1) — Windows Script Host, HTA (VBScript, JScript) — Общение — Серый форум CMD/BAT + vbscript: два в одном (Страница 1) — Windows Script Host, HTA (VBScript, JScript) — Общение — Серый форум |
Цитата:
Цитата:
Всё то же самое... по порядку ссылок: Код:
cscript //nologo //e:javascript |
Цитата:
Код:
powershell.exe -File "%~0" Цитата:
И как я понимаю, поскольку PowerShell исполняет файлы только с определёнными расширениями (так?), фокус провернуть не удастся. |
Цитата:
Код:
<# :: Код:
<# :: |
Цитата:
|
Цитата:
кодировка скрипта в первом варианте OEM и UTF8 без BOM во втором случае PS Ах, да, надо в первом скрипте заменить pwsh на powershell... ну, чтобы встроенный отработал, а не v6.0 поправил скрипты |
Цитата:
Avast тут же отреагировал :). Удалил пакетный файл и попытался удалить powershell.exe. |
Если без эмоций буквально прочесть поставленную задачу и не напрягать воображение, то:
1. У файлов есть общий префикс, в постановке он check 2. После префикса идёт номер, в постановке он <999 3. Надо получить новое имя: префикс+номер, дополненный при необходимости нулями до трёх знаков+_+имя папки То вот еще вариант (скрипт3), тупо и прямолинейно, зато надёжно Код:
@Echo Off |
Цитата:
|
Цитата:
YuS_2, видимо такой гибридный способ пошёл в массы. Вероятно — в массы недописателей-вирусомайнеров. |
Цитата:
|
Кхе-кхе :)… В оное время все, поголовно все значимые антивирусы ругались на банальный CreateObject("ADODB.Stream") … .SaveToFile bla-bla-bla, не особо затрудняя себя проверкой того, что и куда пишется при этом: сказано, что ADODB.Stream .SaveToFile позволяет создавать и записывать двоичные файлы — стало быть, ату его, ату! Причём, обходилось это банальнейшим образом, каким-нибудь CreateObject("ADO" & "DB.Str" & "eam") :lol:.
|
megaloman,
Спасибо огромное! Но у меня вопрос возник, можешь вот эти 2 строки прокомментировать? Цитата:
|
jordan_74, я предполагал, что папка 1 и 2 (уу меня это 1111 и 2222 - имена могут быть произвольными) находятся в корне какой-то общей папки. У меня это Z:\Box_In (у Вас может быть иное, например D: или \\ server\shr и т д) То есть, полные пути у меня Z:\Box_In\1111 и Z:\Box_In\2222.
Меня мучали сомнения в этом. Не проблема переписать скрипт, если папка 1 и 2 - это только имена конечных папок разных путей. Но из постановки это совершенно не следует. |
megaloman,
Да, все верно. Есть корневая папка "Rename", в которой и лежат папки "1", "2", и папка куда должны складываться переименованные файлы "total" тоесть пути выглядят так C:\Onkassa\Rename\1\ , C:\Onkassa\Rename\2\ и C:\Onkassa\Rename\total |
megaloman,
Работает! Но обратил внимание, когда допустим в папке "1" имена исходных файлов повторяются, система создаёт копию файла допустим "check6 — копия" Так вот такой файл батник уже не обрабатывает, хотя по идее должно быть "check007_1". Это можно как то поправить? |
jordan_74, А что Вам нужно, определитесь!
Цитата:
У Вас (по идее :) ) есть файлы check6, check6 — копия, check7 И совершенно неправильно по первоначальной постановке сделать из check6 — копия check007 Что тогда придётся делать с исходной check7 ?? Задача решалась в условиях образования имени ПрефиксНомерРасширение Ставьте задачу, буду думать Потом окажется, что есть файлы check6 — копия — копия - и что тогда? Вам надо сохранять исходную нумерацию или можно перенумеровать все файлы по возрастанию времени создания ? А как пишется копия (после номера, какие знаки: пробел минус пробел копия?) |
Цитата:
Цитата:
|
jordan_74,
Если элементарно доработать скрипт для смеси файлов
ПрефиксНомерРасширение ПрефиксНомерСуффиксРасширение при условии что нет — копия — копия Код:
@Echo Off |
Цитата:
Цитата:
|
Iska, Вы не политкорректны. Надо говорить: умный представитель северного народа, умный!
Иной раз у оленеводов очень трудно добиться полной откровенности - они бывают по детски наивны и непосредственны :) Но если хочется получить удовольствие, надо проявить терпимость. Цитата:
|
Цитата:
megaloman, вот насчёт: Цитата:
Я просто искренне радуюсь, что зараз не ввязался в эту вакханалию ТЗ. Что же до решения — то я бы, как и множество других вещей с трудно формализуемыми или часто меняющимися ТЗ, делал бы в полуавтоматическом режиме в том же Far Manager'е с плагином Visual renaming: Перешёл в потребный каталог, выделил потребные файлы
![]() Вызвал плагин
![]() Задал маску для имени
в виде:
Код:
check[C001+1]_2
![]() Нажал Ctrl-Enter (умолчальная кнопка {Переименовать} в диалоге), получил искомый результат
![]() ![]() Результат не понравился — переименование всегда можно откатить тем же плагином
![]() ![]() Использованная маска доступна в истории поля диалога
![]() При желании можно даже задать ей приоритет, чтобы она всегда была закреплена наверху в истории Всех делов — примерно на полминуты с нуля, и секунд десять — при ранее сохранённой маске. |
Цитата:
Цитата:
Цитата:
Лучше дождаться развернутых условий... |
Цитата:
|
megaloman,
Цитата:
Постараюсь описать подробно: Файлы чеков я забираю из архива, в котором они пронумерованы условно от check1 до check100. Я кладу архив в папку "1" и распаковываю. Если в папке распаковать более одного архива, тогда при совпадении имен к имени файлов второго архива добавляется суффикс "_1" например check1_1 Если ещё архив, соответственно будет имя check1_2 и т.д, имя файла корректируется в зависимости от кол-ва архивов. Все это самостоятельно делает 7-Z архиватор. Поэтому прошу прощения) ввел в заблуждение, суффикса "копия" не будет... Именно в этом и сложность, как их пронумеровать по порядку..? |
Цитата:
|
Цитата:
Если сказать их по-русски, то получится: всему свое время, но не упусти момент... т.е. это об умении выжидать наиболее подходящий момент для чего-либо. И он ещё пока, судя по всему, не наступил... :) Цитата:
Как уже говорил выше, опишите все возможные варианты входящих данных и то, что из них требуется получить в итоге... Содержимое файлов имеет отношение к нумерации и вообще нумерация имеет какое-либо значение? Т.е. если просто взять и откинуть все существующие цифры в конце имени файла и перенумеровать их заново - устроит такое решение? А ещё можно перенумеровать их по дате изменения файла, которая сохраняется даже после извлечения из архива... В общем, соберитесь с духом и попробуйте таки сформулировать саму задачу (о батниках и синтаксисе голову не ломайте, это только запутает). :) |
Цитата:
Цитата:
Скрытый текст
![]() |
YuS_2,
Ну что же, поехали!!! Есть некое кол-во архивов с файлами, которые в каждом архиве пронумерованы от check1 до условно check100. Есть папка 1 и 2 , куда архивы и кладутся. Файлов в папка должно быть менее 1000, тоесть 999 Также есть папка Total Содержимое файлов никакого отношения к нумерации не имеет. Нужно: 1)Распаковать архив(ы) в папках 1 и 2, после чего файл архива удалить. 2)Переименовать файлы с именами от check001 до check999 при этом добавить к имени значение названия папки 1 или 2 : А именно от check001_1 до check999_1 и соответственно check001_2 до check999_2 3)Скопировать переименованные файлы в папку "Total" Цитата:
Цитата:
|
Цитата:
Цитата:
Допустим, есть исходные файлы check123 и check123_1 Как отличить: check123_1 от переименованного check123 + имя папки _1 ? Или папки называйте, например, A и B, D1 и D2, 1111 и 2222(лучше не надо), то есть, чтобы от номеров в файле отличались. Вот решение для задачи, как она поставлена с учетом вышеизложенного:
имеются исходные файлы checkN.ext и checkN_M.ext в папке D. Скопировать/переименовать их в check00N_D.ext и check00N_M_D.ext Код:
@Echo Off Цитата:
|
Цитата:
Вообще, истина - она одна, а вот правда у каждого своя. Трактовкой древних мудростей, можно высказать только чисто субъективное мнение, а вот истинное значение, могло быть доступно только сочинителю... но, увы, спросить его о нем, уже невозможно. |
Вложений: 1
megaloman,
Это то, что нужно! |
megaloman,
И ещё просьба, можно модифицировать, чтобы избежать этих подчеркиваний??? К имени файла вместо _1 , _2 и т.д добавить часть имени архива!? А именно часть номера счета Наименование архива выглядит следующим образом "Расчетный счет 40702810816540044924.zip" В имени архива 407028 остается неизменным, а остальная часть меняется в зависимости от номера счета. Можно к имени добавить оставшуюся часть номера счета ,в данном случае "10816540044924" чтобы в итоге получить например check007_10816540044924_A ??? |
jordan_74, Вы опять описываете выбранное Вами решение, а не задачу.
Скрытый текст
Цитата:
2. Имена файлов всегда ли check? Нумерация всегда ли с 1? Не может ли быть пропусков в нумерации? 3. Одноимённые файлы в разных архивах одинаковы или нет? Цитата:
2. Почему папки 1 и 2, а архивов — некое количество? 3. Как именно распределяется некое количество архивов по папкам 1 и 2, и почему именно так распределяются, а не как-то иначе? 4. Почему вообще нужно распределять архивы по папкам? И это вопросы, возникающие только по первым двум (!) предложениям. Цитата:
Цитата:
|
Цитата:
2)Имя файла должно начинаться с check. нумерация должна быть с 001. Пропусков нумерации быть не должно. 3)Одноимённые файлы в разных архивах различны по содержанию. Содержание никак не привязано к нумерации. Цитата:
все это нужно, чтобы в процессе печати можно было всегда отследить из какого архива был чек, и если он ошибочный, то быстро найти его в исходном архиве. Вобщем вся информация в имени чека нужна для возможности анализа. |
Цитата:
1. В папке A и B чеки разных счетов или счета в этих папках могут совпадать? 2. Вы распаковали архив, допустим, с именем Расчетный счет 40702810816540044924 от 16082018 в папку A. Получили файлы check1,2,3 .... Переименовали их в check001_10816540044924_A, 002, 003, 004 и т д. Скопировали в Total. Что с ними далее? Следующий шаг: Вы распаковали архив, допустим, с именем Расчетный счет 40702810816540044924 от 17082018 в папку A. Опять получили файлы check1,2,3 .... ??? Что с ними делать, у Вас уже есть файлы check001_10816540044924_A, 002, 003, 004 и т д. Приплыли? Что далее? 3. Зачем вообще эта катавасия? Зачем распаковываются архивы? Не лучше ли файлы после каждой распаковки именовать 10816540044924_20180817_001_A, 002, 003 ... 10816540044924_20180818_001_A, 002, 003 ... или 20180817_10816540044924_001_A, 002, 003 ... 20180818_10816540044924_001_A, 002, 003 ... в зависимости от того, что при сортировке предпочтительнее. А слово check вааще не нужно ... 4. Зачем иметь одинаковые файлы в A, B и Total Идея такая: батник берёт последовательно архивы, распаковывает в папку (кстати, а где признак того, что архив должен распаковывается в папку A или B?), переименовывает/копирует с именами, связанными с архивом. Нужно четкое описание, зачем это нужно и последовательность действий. |
Цитата:
1. Что будет сбрасывать счетчик? а) Поступление новых архивов б) Переполнение счетчика в) Наступление определенной даты 2. Как часто поступают архивы? Возможна ли ситуация, что в один день поступает несколько архивов с одинаковым номером счета? 3. Нумерация имеет значение в пределах одного архива или необходима перенумерация всех распакованных файлов под один счетчик? |
Коллеги! Добьём тему до десяти страниц, а ;)? Как думаете?
|
Цитата:
нарисуем - будем жить. :yes: |
Цитата:
напишите отдельно: 1) что получаете на входе 2) какой результат должен быть сейчас совершенно непонятно, что вы написали: то ли что входные данные гарантированно не имеют разрывов в нумерации; то ли что имеют и надо перенумеровывать |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Последовательность действий: Есть 2 папки А и В и итоговая Total Ежедневно я кладу в каждую из них архивы с файлами чеков с текущей датой. И печатать я буду только чеки полученные за текущую дату. Архивы в папках распаковываются, переименовываются файлы c указанием номера счета и даты, условно в check001_10816540044924_20180817_A и т.д После, файлы чеков из папок А и В копируются в Total, после чего папки A и B очищаются. Папка Total очищается мной вручную, я переношу файлы на ресурс печати Каждый новый день нумерация файлов начинается с 001 |
Цитата:
на выходе check001_10816540044924_20180817_A |
Цитата:
Цитата:
Цитата:
Цитата:
уникальная нумерация требуется в исходных папках, условно "A" и "B", без учета находящихся там же архивов (хотя местоположение архивов не указано вроде...). далее: Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
1. Переименование файлов осуществляется на регулярной основе? Если на регулярной, то: 2. Перед запуском переименования, необходимо освобождать исходные и целевую папки от распакованных файлов. Они будут удаляться или перемещаться? Если перемещаться, то куда? Это должен делать разрабатываемый скрипт или какой-либо другой инструмент (возможно вручную?)? 3. С какой частотой поступают архивы с чеками? Они появляются автоматически или вручную? Если автоматически, то возможна ли ситуация появления архива в процессе переименования? |
Цитата:
Цитата:
Цитата:
Новый архив в процессе переименования не появится |
Цитата:
powershell script.ps1 Код:
$src = '.\test' # корневой каталог с путем (относительным или абсолютным) Код:
@echo off 2. Архивы после обработки удаляются 3. Пересчитываются все распакованные файлы по дате изменения, в пределах исходного каталога, т.е. отдельная нумерация в каталоге "A" (от 001 до 999) и отдельная в "B" (от 001 до 999). 4. Файлы, распакованные из архивов, после переименования перемещаются в целевой каталог. Цитата:
Ну, а т.к. целевая папка чистится только вручную, то будем считать, что исходные каталоги чистые и в них ничего нет. Туда необходимо только добавить архивы и запустить скрипт. |
Вот решение с включением информации о счетах в именах файлов
Код:
@Echo Off Вот, для примера, мои файлы:
Z:\Box_In\A\Расчетный счет 40702810816540044921 от 16082018.7z Z:\Box_In\A\Расчетный счет 40702810816540044922 от 16082018.7z Z:\Box_In\A\Расчетный счет 40702810816540044923 от 16082018.7z Z:\Box_In\B\Расчетный счет 40702810816540044924 от 16082018.7z Z:\Box_In\B\Расчетный счет 40702810816540044925 от 16082018.7z Z:\Box_In\B\Расчетный счет 40702810816540044926 от 16082018.7z Архивы по очереди распаковываются в промежуточную папку , у меня Z:\Box_In\Total\Tmp, Ваши файлы с именами check1,2,3... с расширениями, распакованное перемещается в папку Z:\Box_In\Total с сформированными именами. Вот мои выходные файлы для примера
Z:\Box_In\Total\check_20180816_A_10816540044921_001
Z:\Box_In\Total\check_20180816_A_10816540044921_002 Z:\Box_In\Total\check_20180816_A_10816540044921_003 Z:\Box_In\Total\check_20180816_A_10816540044921_004 Z:\Box_In\Total\check_20180816_A_10816540044921_005 Z:\Box_In\Total\check_20180816_A_10816540044921_006 Z:\Box_In\Total\check_20180816_A_10816540044921_007 Z:\Box_In\Total\check_20180816_A_10816540044921_008 Z:\Box_In\Total\check_20180816_A_10816540044921_009 Z:\Box_In\Total\check_20180816_A_10816540044921_010 Z:\Box_In\Total\check_20180816_A_10816540044922_001 Z:\Box_In\Total\check_20180816_A_10816540044922_002 Z:\Box_In\Total\check_20180816_A_10816540044922_003 Z:\Box_In\Total\check_20180816_A_10816540044922_004 Z:\Box_In\Total\check_20180816_A_10816540044922_005 Z:\Box_In\Total\check_20180816_A_10816540044922_006 Z:\Box_In\Total\check_20180816_A_10816540044922_007 Z:\Box_In\Total\check_20180816_A_10816540044922_008 Z:\Box_In\Total\check_20180816_A_10816540044922_009 Z:\Box_In\Total\check_20180816_A_10816540044922_010 Z:\Box_In\Total\check_20180816_A_10816540044923_001 Z:\Box_In\Total\check_20180816_A_10816540044923_002 Z:\Box_In\Total\check_20180816_A_10816540044923_003 Z:\Box_In\Total\check_20180816_A_10816540044923_004 Z:\Box_In\Total\check_20180816_A_10816540044923_005 Z:\Box_In\Total\check_20180816_A_10816540044923_006 Z:\Box_In\Total\check_20180816_A_10816540044923_007 Z:\Box_In\Total\check_20180816_A_10816540044923_008 Z:\Box_In\Total\check_20180816_A_10816540044923_009 Z:\Box_In\Total\check_20180816_A_10816540044923_010 Z:\Box_In\Total\check_20180816_B_10816540044924_001.txt Z:\Box_In\Total\check_20180816_B_10816540044924_002.txt Z:\Box_In\Total\check_20180816_B_10816540044924_003.txt Z:\Box_In\Total\check_20180816_B_10816540044924_004.txt Z:\Box_In\Total\check_20180816_B_10816540044924_005.txt Z:\Box_In\Total\check_20180816_B_10816540044924_006.txt Z:\Box_In\Total\check_20180816_B_10816540044924_007.txt Z:\Box_In\Total\check_20180816_B_10816540044924_008.txt Z:\Box_In\Total\check_20180816_B_10816540044924_009.txt Z:\Box_In\Total\check_20180816_B_10816540044924_010.txt Z:\Box_In\Total\check_20180816_B_10816540044925_001.txt Z:\Box_In\Total\check_20180816_B_10816540044925_002.txt Z:\Box_In\Total\check_20180816_B_10816540044925_003.txt Z:\Box_In\Total\check_20180816_B_10816540044925_004.txt Z:\Box_In\Total\check_20180816_B_10816540044925_005.txt Z:\Box_In\Total\check_20180816_B_10816540044925_006.txt Z:\Box_In\Total\check_20180816_B_10816540044925_007.txt Z:\Box_In\Total\check_20180816_B_10816540044925_008.txt Z:\Box_In\Total\check_20180816_B_10816540044925_009.txt Z:\Box_In\Total\check_20180816_B_10816540044925_010.txt Z:\Box_In\Total\check_20180816_B_10816540044926_001.txt Z:\Box_In\Total\check_20180816_B_10816540044926_002.txt Z:\Box_In\Total\check_20180816_B_10816540044926_003.txt Z:\Box_In\Total\check_20180816_B_10816540044926_004.txt Z:\Box_In\Total\check_20180816_B_10816540044926_005.txt Z:\Box_In\Total\check_20180816_B_10816540044926_006.txt Z:\Box_In\Total\check_20180816_B_10816540044926_007.txt Z:\Box_In\Total\check_20180816_B_10816540044926_008.txt Z:\Box_In\Total\check_20180816_B_10816540044926_009.txt Z:\Box_In\Total\check_20180816_B_10816540044926_010.txt После обработки архивы перемещаются в соответствуюжие папки, у меня Z:\Box_In\Total\A Z:\Box_In\Total\B Z:\Box_In\Total\Tmp очищается, хотя, в принципе, там и без этого ничего не должно было оставаться, если только в Ваших архивах было что-то еще, кроме файлов Check Как я понимаю, при таком подходе файлов типа check123_1 быть не может, ранее они появлялись из-за того, что в разных архивах имелись разные файлы с одинаковым названием. |
|
YuS_2, ом мани падме хум! Не увидел зип. Но это не принципиально. Легко изменяется. Но у меня нет зипа, отладить не на чем
|
Цитата:
|
Iska, да создать зип можно,. Но загвоздка в том, чтобы распаковать архиватором zip - там будут свои ключи. Я с 7z убодался. Насколько всё-таки rar удобнее.
|
|
Цитата:
|
|
Цитата:
Скрытый текст
Ну дык как всегда... Табличка внизу слева. ;)
|
Вложений: 2
megaloman,
Цитата:
После изменений скрипт отработал именно так как надо!!! (см. результат работы.jpg) Но при этом я получил сообщение, которое мне непонятно.(см.сообщение.jpg) |
jordan_74, переименуйте Ваш батник c расширением .TXT и прикрепите к сообщению. Похоже, вместо
GoTo :Eof У вас где-то GoTo :Eo Или GoTo :Eo f То есть, скопипастили код криво, или случайно извратили. |
Вложений: 1
|
jordan_74, предчувствия меня не обманули, самый последний GoTo :Eof у вас GoTo :Eo
А отрабатывает нормально, так как без этой строки в принципе можно и обойтись. Я обычно ей обозначаю конец подпрограммы, и, если вы далее ничего не наваяете своего, она не обязательна Цитата:
|
Цитата:
|
Доброе утро. Прошу помощи при создании кода.
Необходимо файл 1.txt из папки с:\1\ скопировать в папку c:\2\ но с другим именем. Можно дату и время в место имени. Ее раззапускаю батник, он снова копирует, но с другим уже именем. Заранее благодарю |
Код:
@echo off |
Iska, Пытаюсь понять смысл задачи. Один и тот же неизменный файл копировать много раз с разными именами - нонсенс. Другое дело, копировать исходный файл с включением в имя времени последнего изменения - смысл усматриваю.
Код:
@Echo Off Где ГГГГММДДччммсс -время последнего изменения файла |
Первый раз скопируется с тем же именем в нужную папку (будет создана при отсутствии)
При последующих копированиях к имени будет добавляться дата и время (если из под dir убрать \%f%, условие будет распространяться на все файлы в папке и подпапках 1, соблюдая структуру при этом) Код:
@echo off |
Парни, а можно ли сделать батник с такими функциями?
Есть на компе папка название CSSv34 в ней есть папка bin с файлами. Нужно что бы батник помещенный в эту папку при запуске удалял папку bin полностью + переименовывал папку в которой лежит добавляя в конец существующего названия актуальную дату по типу CSSv34_140224 - где CSSv34 старое название папки _140224 это дата день месяц год А после всех действий батник должен запустить exe файл с игрой который так же лежит в этой папке, например css.exe |
Время: 18:47. |
Время: 18:47.
© OSzone.net 2001-