как копировать только новые файлы из консоли?
for %f in (dir1\*) do if not exist dir2\%f copy dir1\%f dir2\%f
copy /?
---
...Я работаю антинаучным аферистом...
... in (dir1\*.*) ...
---
...Я работаю антинаучным аферистом...
Это необходимо только для command.com старых версий. cmd и command.com начиная с Windows95 OSR2 понимают просто *
подошло
xcopy dir1\* dir2\ /D /Y
а через FOR.. немного не работало, там %f полный путь выдавал при copy (не стал разбираться, раз нашёл уже выход)
Да, это я не учел. Надо было просто в кавычки параметры copy взять
for %f in (*.*) do if no exist ...
?
---
...Я работаю...
for %f in (dir1\*) do if not exist "dir2\%f" copy "dir1\%f" "dir2\%f"
Предыдуший вариант не работал, если в dir1 или dir2 есть пробелы или другие нехорошие символы.
А я-то думал...
У меня пробелов в именах не бывает.
---
...Я работаю...
надо бы наверно
cd dir1
... copy %f dir2
(т.к. иначе вроде получится в итоге ..copy dir1/dir1/file dir2/dir1/file )
---
...Я работаю...
действительно, промахнулся малость подразумевалось, что dir1, dir2 - полные пути (включая имя диска)
for %i in (%bin%\*.*) do echo %i
subst s: c:\thispath
copy c:\autoexec.bat s:\misc\c:\autoexec.bat
-- Too many arguments.
subst s: /d
Выводы?
---
...Я работаю...
Вывод: упс.
C:\>ver
Windows 98 [Version 4.10.2222]
C:\>for %i in (*) do echo %i
C:\>dir/b autoexec.bat
AUTOEXEC.BAT
C:\>
---
...Я работаю...
Оставить комментарий
Trams
WinXP, из коммандной строки. Чтобы не выдавался запрос на перезапись существующих файлов (их много очень) и они не перезаписывались. Или какую нить утилитку консольную посоветуйте.