Надо найти 40 файлов и удалить!
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next  :| |:
Total Commander -> Автоматизация Total Commander

#76:  Author: FlasherLocation: Москва PostPosted: Fri Oct 01, 2010 01:15
    —
Tol!k
mklink.exe положил в одну папку с createlink.cmd, masks.txt в корень(место поиска) - результата в панели-получателе нет.

Serge Yolkin wrote:
На какую сумму я могу расчитывать за такой батник?
На такую. Хотя, Бог его знает, может Samwatas расщедрится .

#77:  Author: Tol!kLocation: Арзамас PostPosted: Fri Oct 01, 2010 06:59
    —
Попробуй прописать полный путь к mklink.exe или положить его в папку, прописанную в %path%

mklink.exe этот:
Quote:
MKLINK 1.01 - (c) 2006 Christoph H. Hochstдtter and CNET Networks.


Для
Quote:
Hard link maker by Killer{R}
попробуй строку
Code:
) do mklink.exe "%%f" "%~3\%%~nxf"

#78:  Author: FlasherLocation: Москва PostPosted: Fri Oct 01, 2010 11:24
    —
Tol!k wrote:
Попробуй прописать полный путь к mklink.exe или положить его в папку, прописанную в %path%
Ага, так работает с переменной окр., %path% не подойдёт - нужна портабельность.

Строка c mlink от Killer-a не срабатывает.

Ещё бы хотелось сохранять структуру при этом.
Для ln.exe и junction.exe не получается то же самое сделать. Для ln синтаксис отличается только параметром -j вместо /h у mklink. У junction так:
junction <junction dir> <junction target dir>
либо
junction -d <junction dir>

#79:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 01, 2010 11:46
    —
А почему бы не использовать утилиту от Microsoft, которая поставляется с Windows? mklink.exe есть и для XP, и для Vista/7, но в последних она включена в стандартную поставку, а в XP - нет.

Кстати, сразу проверьте программы на поддержку Юникода.

А вообще, написать такую утилиту, которая будет вызывать API-функцию, можно максимум за полчаса.

#80:  Author: FlasherLocation: Москва PostPosted: Fri Oct 01, 2010 12:02
    —
MVV wrote:
А почему бы не использовать утилиту от Microsoft, которая поставляется с Windows? mklink.exe есть и для XP, и для Vista/7, но в последних она включена в стандартную поставку, а в XP - нет.
А потому что ты невнимательный. 1 2 Wink

#81:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 01, 2010 12:19
    —
Flasher wrote:
А потому что ты невнимательный. 1 2 Wink
Я не понял, в чем именно я невнимателен. Ни один пост не указывает явно, что именно я написал не так. А написать подробнее ты не потрудился.

Если Tol!k хочет именно символические ссылки, он должен иметь ОС Vista или 7. Но в таком случае его система уже должна располагать утилитой mklink. Если же у него XP, то о символических ссылках можно только мечтать, так как система XP их просто не поддерживает.

#82:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Oct 01, 2010 12:23
    —
MVV
Позволю себе напомнить, что термин "символическая ссылка" в разных операционных системах по милости MS означает разные вещи.

#83:  Author: FlasherLocation: Москва PostPosted: Fri Oct 01, 2010 12:30
    —
MVV wrote:
А написать подробнее ты не потрудился.
Тружусь: ты спросил "а почему бы не использовать", я даю ссылки, где mklink от Microsoft и описывается, что в первом, что во втором случае. По-моему это понятно из постов и ссылки, ведущей на описание синтаксиса данной утилиты. Ничего не забыл?
MVV wrote:
Если Tol!k хочет именно символические ссылки, он должен иметь ОС Vista или 7. Но в таком случае его система уже должна располагать утилитой mklink. Если же у него XP, то о символических ссылках можно только мечтать, так как система XP их просто не поддерживает.
То, чего хочет Tol'k(а правильней сказать "что ему нравится"), - это отдельный вопрос (т.е. его личное дело), и он выпадает из обрисованной мной ситуации.

#84:  Author: MVVLocation: Ростов-Дон PostPosted: Fri Oct 01, 2010 12:57
    —
Flasher wrote:
Тружусь: ты спросил "а почему бы не использовать", я даю ссылки, где mklink от Microsoft и описывается, что в первом, что во втором случае. По-моему это понятно из постов и ссылки, ведущей на описание синтаксиса данной утилиты. Ничего не забыл?
Спасибо, я уловил мысль. Просто в последнем посте Tol!kа упоминались строки (c) 2006 Christoph H. Hochstдtter and CNET Networks и Hard link maker by Killer{R}, которые ну никак не могут иметь отношения к утилите от Microsoft.

Avada wrote:
MVV
Позволю себе напомнить, что термин "символическая ссылка" в разных операционных системах по милости MS означает разные вещи.
Хотелось бы взглянуть на официальный источник, использующий термин "символическая ссылка" ("symbolic link") в отношении точек соединения ("junction")... Ага, нашел у Руссиновича в описании Junction. А тут нашел упоминание термина "symbolic link" непосредственно от Microsoft, и в этом тексте у термина еще одно значение - то, которое сейчас принадлежит термину "mount point" ("точка монтирования").

Но замечу, что ребята в рамках данной темы обсуждали использование ссылок применительно к файлам, а точки соединения, некогда неправильно названные символическими ссылками, возможны только для каталогов - то есть, они использовали правильный термин.

#85:  Author: FlasherLocation: Москва PostPosted: Fri Oct 01, 2010 13:45
    —
MVV wrote:
Просто в последнем посте Tol!kа упоминались строки (c) 2006 Christoph H. Hochstдtter and CNET Networks и Hard link maker by Killer{R}, которые ну никак не могут иметь отношения к утилите от Microsoft.
Хм.. Синтаксис тот же. Сравни со своей, пожалуйста, а то у меня сейчас негде.

Добавлено
: хотя нет, это же Open Source, к Microsoft точно никакого отношения не имеет, хотя по функционалу ничуть не уступает аналогу.
Я забирал на Хабре сперва, где описание было утилиты от Microsoft, а оказалось автор не упомянул, что по ссылке утилита-двойник от немецкого прогера.
Но тут у меня другая мысль: дата создания утилиты - 2006 г., Висту начали продавать с февраля 2007-го, ссылка с оффсайта на утилиту мёртвая. Допустим ли вариант с перекупкой копирайта мелкомягкими?

#86:  Author: Tol!kLocation: Арзамас PostPosted: Fri Oct 01, 2010 17:35
    —
MVV wrote:
А почему бы не использовать утилиту от Microsoft...
Я и хотел её использовать, да никто её не даёт.

Flasher wrote:
Для ln.exe и junction.exe не получается то же самое сделать.

Для директорий нужны другие ключи
Code:
MKLINK 1.01 - (c) 2006 Christoph H. Hochstдtter and CNET Networks.
...
    /D Creates a symbolic link for a directory.
    ...
    /J Creates a junction for a directory.
поэтому я отфильтровал только файлы.

Code:
'for /f "usebackq delims=" %%a in ^("%~1"^) do @dir /ad/b/s "%~2\%%a"'
— это будут только директории.

#87:  Author: Tol!kLocation: Арзамас PostPosted: Fri Oct 01, 2010 18:39
    —
Flasher wrote:
Ещё бы хотелось сохранять структуру при этом.


Для файлов:
Code:
@echo off &chcp 1251 >nul

rem Создать в целевой папке ссылки с сохранением путей для файлов подходящих под маски

rem Параметры: маски.txt D:\где_искать\ D:\куда_складывать\
rem Пример параметров для TC: D:\маски_поиска.txt "%P" "%T"

setlocal enableextensions
set "pth=%~p2" &set "trg=%~3"
for /f "delims=" %%f in (
'for /f "usebackq delims=" %%a in ^("%~1"^) do @dir /a-d/b/s "%~2\%%a"'
) do call :p "%%f"
goto :eof

:p
set "p=%~p1"
call set "p=%%p:%pth%=%%"
if not exist "%trg%\%p%" md "%trg%\%p%"
mklink /h "%trg%\%p%%~nx1" %1
goto :eof


Last edited by Tol!k on Sat Oct 02, 2010 06:36; edited 1 time in total

#88:  Author: Samwatas PostPosted: Sat Oct 02, 2010 00:58
    —
Serge Yolkin wrote:
На какую сумму я могу расчитывать за такой батник?

Зачем же заниматься мазохизмом с батниками? Если у меня появится похожая задача, я просто возьму более совершенный инструмент (в качестве такового у меня пока выступает АвтоИт), с помощью которого можно легко и не напрягаясь сделать всё, что мне нужно будет. Так что от меня не стоит рассчитывать даже на $1 (не говоря уж о 10). Very Happy

#89:  Author: RodnyLocation: Могилёв, Беларусь PostPosted: Sat Oct 02, 2010 01:08
    —
Tol!k wrote:
Я и хотел её использовать, да никто её не даёт.

Однако, команда есть, а файла mklink.exe нигде нет Rolling Eyes Win7 x32
Code:
C:\Windows\System32>mklink
Создание символической ссылки.

MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение

        /D          Создание символической ссылки на каталог.
                    По умолчанию создается символическая ссылка на файл.
        /H          Создание жесткой связи вместо символической ссылки.
        /J          Создание соединения для каталога.
        Ссылка      Имя новой символической ссылки.
        Назначение  Путь (относительный или абсолютный), на который ссылается новая ссылка.

Может она куда в cmd зашита?

#90:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Oct 02, 2010 01:21
    —
Да, в Windows 7 mklink - это команда командного интерпретатора (если просмотреть содержимое CMD.exe в Юникоде, эта строка будет найдена среди кучи строк других команд). А даже если бы был экзешник, под Windows XP он бы не запустился - импортирует функции, отсутствующие в ядре XP (как минимум, функцию CreateSymbolicLinkW из библиотеки kernel32.dll). Мне почему-то казалось, что есть ее аналог для Windows XP (создающий точки соединения и жесткие ссылки).

Под XP в официальном дополнительном наборе инструментов есть утилита linkd. Также можно использовать утилиту junction от Марка Руссиновича. Но они умеют создавать только точки соединения для папок, жесткие ссылки на файлы ими не создать.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next  :| |:
Page 6 of 11

Powered by phpBB © 2001, 2005 phpBB Group