![]() |
Копирование файлов в 2 разные папки (bat)
Здравствуйте,
Столкнулся с трудностью: дано, некая папка, например "out". В нее скидываются файлы. Задача скопировать файлы из папки "out" в две другие, но в первую: "1" - файлы должны быть скопированы. Во вторую папку "2" те же файлы должны быть перемещены. В итоге папка "out" должна быть пустая. Задача осложняется еще тем, что в папку "out" бывает попадают файлы без расширения. Как сделать так, чтобы все вышеописанное заработало? P.S. Хотел реализовать все с помощью bat, но может Вы посоветуете прогу... Буду очень благодарен за помощь. Спасибо заранее. |
Код:
copy "c:\Source\*.*" "c:\Destination1\*.*" |
Спасибо за ответ.
Я реализовал почти также, просто вместо второго "сору" я использовал команду - "move". Проблема в том, что файлы без расширения не перемещаются во вторую папку. Может это команда "move" не поддерживает такое перемещение? |
Цитата:
Цитата:
|
copy d:\out\*.* d:\archive\*.*
move d:\out\*.* d:\in\*.* |
Kenwood, а где двойные кавычки (в "d:\out\*.*" и остальных)? Без них возможны проблемы при наличии файлов с пробелами в именах.
|
Каюсь, забыл )
А на что именно влияют кавычки. У меня и без них копирование происходило... |
Цитата:
Создайте файл "test test.txt" в каком-либо каталоге, запустите командный процессор CMD и выполните три команды: Код:
copy "<путь_к_файлу>\test test.txt" "<тот_же_путь>\test1 test1.txt" и Код:
copy <путь_к_файлу>\test test.txt <тот_же_путь>\test2 test2.txt Код:
copy "<путь_к_файлу>\test test.txt" <тот_же_путь>\test3 test3.txt |
Цитата:
Код:
move d:\out\*.* d:\in\ Но в целом всё обстоит именно так — лучше сразу привыкать обрамлять кавычками пути везде, независимо от «текущего случая». |
Спасибо всем за помощь. Представленные мною пути реальные.
Я сменил содержимое батника на copy "c:\Source\*.*" "c:\Destination1\*.*" copy "c:\Source\*.*" "c:\Destination2\*.*" del /f /q "c:\Source\*.*" Теперь жду. Напомню, главное для меня, чтобы файлы без расширения тоже копировались в соотв папки |
Если они без расширения, зачем тогда ставишь? Правильный код:
Код:
copy d:\out\* d:\archive\* |
Цитата:
|
Товарищи,
код copy "c:\Source\*.*" "c:\Destination1\*.*" copy "c:\Source\*.*" "c:\Destination2\*.*" del /f /q "c:\Source\*.*" не смог скопировать файл без расширения во вторую папку... ( Что можно еще попробовать? |
Kenwood, что я:
делаю не так? Код пакетного файла E:\Песочница\0358\0001.cmd: Код:
@echo off Цитата:
|
Я прогнал на стенде батник. Все отработало. Прикол в том, что файлы без расширения перебрасываются, но через раз. Эти файлы генерит сторонняя программа. Я предполагаю, что это как то связано с доступами на сам файл который создается.
Сейчас буду экспериментировать... Всем спасибо большое за помощь |
Цитата:
Кроме того, попробуйте в Свойствах батника (лучше -- ярлыка к нему, создав такой ярлык) поставить на закладке "Совместимость" галку "Выполнять от имени администратора". |
Цитата:
|
В точку. Это единственное объяснение проблемы. А это как я понимаю, не лечится... )
|
Цитата:
|
это файл с расширением ".in" Внутри набор символов для обработки другой программой. Мой бантик с интервалом сканит папку "out" и если там есть файл, перебрасывает его в другие две. Из папки "in" прога отсылает его по фтп на удаленную машину (файл локально удаляется после отсылки). А папка "archive" - это копия файла для меня.
|
Вопрос решился так:
в коде copy "c:\Source\*.*" "c:\Destination1\*.*" copy "c:\Source\*.*" "c:\Destination2\*.*" del /f /q "c:\Source\*.*" изменил "\*.*" на "\*.in" Теперь, при попадании файла с расширением в папку, батник его подхватывает. Если файл без расширения, то пропускает. Всем спасибо за помощь |
Время: 20:31. |
Время: 20:31.
© OSzone.net 2001-