Войти

Показать полную графическую версию : [решено] Создание копий файлов, но с нулевым размером


dorga6
25-12-2019, 10:21
Можно ли создать копии множества файлов с тем же расширением, но с нулевым размером?
Есть много (2-3 тыс в папке) mp3 файлов , хотел сделать такие же дубли, но пустышки - для чего , боюсь не смогу правильно донести , голова не варит после бессонной ночи , извините. Или хотя бы разом скопировать все имена и вставить в пустые txt файлы а затем в TC сменил бы расширение...
Спасибо всем!

iglezz
25-12-2019, 13:49
dorga6, Неясно какая структура требуется.
Исходные файлы находятся в одной папке?
Пустышки должны быть рядом с исходными файлами, в отдельной папке с повторением структуры исходных папок или в одной папке?

Если TC == Total Commander, то некоторые сценарии легко реализуются при помощи wcx плагина MakeBat (с ограничением -- он не понимает Unicode символы в путях/именах) (пример строки: @copy nul "%M" >nul)

В любом случае надо переезжать в тему Скриптовые языки администрирования Windows (http://forum.oszone.net/forum-102.html)

dorga6
25-12-2019, 18:14
iglezz, Спасибо Вам за отзывчивость, да, все файлы в одной папке, пустышки можно уложить в отдельной папке рядом с исходной, без повторения структуры.

Iska
25-12-2019, 18:57
robocopy.exe /create "*.mp3" "C:\Мои проекты\0290\Source" "C:\Мои проекты\0290\Destination"

dorga6
25-12-2019, 21:27
robocopy.exe /create "*.mp3" "C:\Мои проекты\0290\Source" "C:\Мои проекты\0290\Destination" »

Это значит в командной строке надо ввести скрипт или как, просто я слабак в этом, + в скрипте про размер создаваемых файлов вроде ничего не обозначено?
************************************************************************
PS Мне на MailRu подсказали: ну тогда простейший скрипт ( zero.dat - файл нулевого размера )

for %%i in ( НАЧАЛЬНЫЙ_КАТАЛОГ\*.* ) do copy zero.dat КОНЕЧНЫЙ_КАТАЛОГ\%%i

Но мне не удалось запустить этот батник, ошибка, видимо я не понял как и где правильно прописать знаки %%i *.*

megaloman
25-12-2019, 22:31
@Echo Off
Set "FoldIn=Z:\Backup"
Set "FoldOut=Z:\Backup.Double"
Set "Mask=*.*"

2>nul Md "%FoldOut%"
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%FoldIn%\%Mask%" /B /A:-D`) Do >"%FoldOut%\%%~nxf" cd.
Exit /B 0

dorga6
25-12-2019, 23:14
Код:
@Echo Off
Set "FoldIn=Z:\Backup"
Set "FoldOut=Z:\Backup.Double"
Set "Mask=*.*"
2>nul Md "%FoldOut%"
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%FoldIn%\%Mask%" /B /A:-D`) Do >"%FoldOut%\%%~nxf" cd.
Exit /B 0 »

Спасибо огромное! Гениально! Низкий Вам поклон!!! Как же я Вам завидую, умные и добрые ЛЮДИ!!!!!
С наступающим Вас всех и всех Вам благ!!!

Iska
26-12-2019, 04:39
Это значит в командной строке надо ввести скрипт »
Можете в командной строке вводить данную команду.

или как »
Или создать пакетный файл. Или ввести в окне «Выполнить». Как хотите.

+ в скрипте про размер создаваемых файлов вроде ничего не обозначено? »
Обозначено. Специально — красным цветом.




© OSzone.net 2001-2012