2016-04-12 5 views
1

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

Как мне сделать пакетный файл для многократной копирования файла?

loop: 
copy /y a.txt c:/b.txt 
Goto loop 

Он работает один раз

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

batch.bat:

rere: 
copy /y c:\folder1\abc.txt c:\folder2\abc.txt 
pause 
goto rere 

выход при двойном щелчке batch.bat enter image description here

+0

Вам нужна операция копирования в определенный промежуток времени или вы буквально хотите, чтобы это происходило непрерывно как можно быстрее? Что вы подразумеваете под «Мне все равно ... если он не копирует, если файл существует»? – Cyb3rFly3r

+0

Я бы хотел, чтобы это было как можно быстрее. Но в то же время я задаюсь вопросом, может ли это сбой окон? Копия имеет 3 варианта: 1) Скопируйте и замените 2) Не копируйте, если она существует 3) Скопируйте и переименуйте копию в имя файла (копия #) Мне все равно, если это первые 2 – GeekyDewd

+0

... и какой у Вас вопрос? – aschipfl

ответ

0
:loop 
copy file1 file2 
Goto loop 

как. См. goto /? и copy /?.

+0

«loop:» не распознается как внутренняя или внешняя команда, исполняемая программа или командный файл. – GeekyDewd

+0

Это не 'loop' its': loop' См. 'Goto /?'. –

+0

Вы используете это в своем командном файле ... посмотрите, что говорит cmd. – GeekyDewd

1

Незначительное изменение по реализации Лапша (в незаслуженно отвергнуто):

@echo off 
:loop 
copy file1 file2 
rem The 'timeout' line will wait for 1 sec between copy attempts 
rem Remove the 'rem ' statement from the line to use this feature 
rem timeout 1 > nul 
goto loop 

Обратите внимание, что код Лапша работает; вы должны быть осторожны при правильном копировании последней инструкции.

+0

Посмотрите на мое сообщение, я добавил фотографию своего сообщения об ошибке вместе с кодом, который использовал – GeekyDewd

+0

Похоже, вы просто копируете и вставляете консоль. Это не будет работать. Вам нужно скопировать весь код в текстовый файл, например. copyinf.bat, а затем запустите copyinf.bat с консоли. – Cyb3rFly3r

+0

Нет, сэр, вы ошибаетесь. Я понимаю, КАК делать пакетный файл. Мне нужна помощь с командами WHAT, которые нужно использовать, чтобы заставить его работать. См. Этот блок кода? Да, это то, что находится в моей партии. – GeekyDewd

2

Причина возникает в том, что вы должны изменить goto rere на goto :rere. Прочитано This объясняет goto: eof, который по существу является циклом.

Также проверьте этот код из

@echo on 
:loop 
setLocal EnableDelayedExpansion 
set source="%UserProfile%\Desktop\source\" 
set target="%UserProfile%\Desktop\destination\ 
for /f "tokens=*" %%a in ('dir %source%\*.* /b /s') do (
set B=%%a 
set C=!B:\=%random%! 
set D=!C:~3,88! 
copy "%%a" %target%\"!D!" 
) 
goto :loop 

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

Смежные вопросы