Показать полную графическую версию : [решено] Программа создающая пустые копии файлов и папок
Нужно сделать так называемый "Слепок" папки с внутренностями.
Руками создавать папки и переименовывать коипровать название оригиналов - очень долго и нудно.
Помню, была программка, которая делал "слепки" каталогов и файлов. Но сейчас не могу найти(
Мож кто помнит?
i-Lex, на ум приходит плагин к тоталу коммандеру DiskDir (http://wincmd.ru/plugring/diskdir_extended.html). Выделяете папки/файлы, жмете "архивировать" (оно же alt+f5), выбираете формат этого плагина (обычно .lst). Получаете архив-слепок.
a_axe, спасибо конечно, но не совсем то. Была мелкая программулина. Там было 2 поля и несколько кнопок.
Было крайне удобно.
i-Lex, cmd/bat сценарий тут будет уместен. Например с помощью dir получаем содержимое для слепка, с помощью md в "слепке" создаём папку, с помощью перенаправленного echo - файл.
Помню, была программка, которая делал "слепки" каталогов и файлов. Но сейчас не могу найти( »
Robocopy :).
robocopy.exe "C:\Мои проекты\0006\Source" "C:\Мои проекты\0006\Destination" /mir /create /dcopy:t
i-Lex,
How to create a text file list of the contents of a folder (https://support.microsoft.com/en-us/kb/196158)
How to Create a File List at a Command Prompt
How to Print or Save a Directory Listing to a File (http://www.howtogeek.com/98064/how-to-print-or-save-a-directory-listing-to-a-file/)
i-Lex,
How to create a text file list of the contents of a folder
How to Create a File List at a Command Prompt
How to Print or Save a Directory Listing to a File »
Мне нужна папка с пустыми копиями файлов. Мне не нужно загонять структуру каталогов в файл. Таких тем и тут много.
Цитата i-Lex:
Помню, была программка, которая делал "слепки" каталогов и файлов. Но сейчас не могу найти( »
Robocopy .
Код:
robocopy.exe "C:\Мои проекты\0006\Source" "C:\Мои проекты\0006\Destination" /mir /create /dcopy:t »
Та софтина была не консольная. Эта пустые копии файлов делает? Или полностью их копирует? Просто мне нужно сделать слепок огромных файлов. Я не хочу 20 гб копировать.
i-Lex, cmd/bat сценарий тут будет уместен. Например с помощью dir получаем содержимое для слепка, с помощью md в "слепке" создаём папку, с помощью перенаправленного echo - файл. »
А по подроьнее можно? Я совсем не силён в скриптах.
Эта пустые копии файлов делает? »
Да:
…
/MIR :: Создать зеркало дерева папок (эквивалентно /E с /PURGE).
/CREATE :: Создать только дерево папок и файлы нулевой длины.
/DCOPY:T :: Копирование меток времени папки.
…
Iska, конечно, не совсем то (хочется гуя немного да кнопочек), но всё же работает) Спасибо!
хочется гуя немного да кнопочек »
Легион их — Robocopy GUI - Поиск в Google (https://www.google.ru/search?q=Robocopy+GUI), выбирайте по вкусу. Я не пользовался ни одним из них, советовать не стану.
а неподскажете как:
есть список файлов , их следует заменить нулевым размером (изменить размер файла на 0 ) вместо удаления.
есть список файлов »
В чём? Если текстовый файл — в каком виде (с полными путями, относительными путями, без путей — тогда как определить, в каком каталоге эти файлы), в какой кодировке, какие концы строк?
Iska,
текстовый файл , чистые полные пути , один путь-одна строка , кодировка анси .
пример
"C:\11\aa aa\Catalog\06.cab"
"C:\11\aa aa\Catalog\07.cab"
"C:\11\aa aa\Catalog\01.cab"
возможно вы имели ввиду что должен быть задействован текстовый файл, так то не обязательно, пути могу подставить в батнике , , просто интерисует как в пакетном файле выполнить такое.
kero, если ANSI — то лучше WSH:
Option Explicit
Dim strSourceFile
Dim objFSO
Dim strContent
Dim strLine
If WScript.Arguments.Count = 1 Then
strSourceFile = WScript.Arguments.Item(0)
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strSourceFile) Then
With objFSO.OpenTextFile(strSourceFile)
strContent = .ReadAll()
.Close
End With
For Each strLine In Split(strContent, vbCrLf)
If objFSO.FileExists(strLine) Then
objFSO.CreateTextFile(strLine, True).Close
Else
WScript.Echo "Can't find file [" & strLine & "]."
End If
Next
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 2
End If
Set objFSO = Nothing
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
WScript.Quit 1
End If
WScript.Quit 0
Кавычки в файле не нужны. Путь к целевому файлу с путями к файлам задаётся параметром скрипта (также можно просто перетащить целевой файл на скрипт в Проводнике).
просто интерисует как в пакетном файле выполнить такое. »
При использовании кодировки OEM/866:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFile=%~1
if defined sSourceFile (
if exist "%sSourceFile%" (
for /f "usebackq delims=" %%i in ("%sSourceFile%") do (
if exist "%%~i" (
>nul copy /y nul "%%~i"
) else (
echo Can't find file [%%~i].
)
)
) else (
echo Can't find source file [%sSourceFile%].
)
) else (
echo Usage: %~nx0 ^<Source file^>
)
endlocal
exit /b 0
Путь к целевому файлу с путями к файлам задаётся параметром пакетного файла (также можно просто перетащить целевой файл на пакетный файл в Проводнике).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.