Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Надо найти 40 файлов и удалить!
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 01, 2010 01:15    Post subject: Reply with quote

Tol!k
mklink.exe положил в одну папку с createlink.cmd, masks.txt в корень(место поиска) - результата в панели-получателе нет.

Serge Yolkin wrote:
На какую сумму я могу расчитывать за такой батник?
На такую. Хотя, Бог его знает, может Samwatas расщедрится .
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Oct 01, 2010 06:59    Post subject: Reply with quote

Попробуй прописать полный путь к 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"
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 01, 2010 11:24    Post subject: Reply with quote

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>
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 01, 2010 11:46    Post subject: Reply with quote

А почему бы не использовать утилиту от Microsoft, которая поставляется с Windows? mklink.exe есть и для XP, и для Vista/7, но в последних она включена в стандартную поставку, а в XP - нет.

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

А вообще, написать такую утилиту, которая будет вызывать API-функцию, можно максимум за полчаса.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 01, 2010 12:02    Post subject: Reply with quote

MVV wrote:
А почему бы не использовать утилиту от Microsoft, которая поставляется с Windows? mklink.exe есть и для XP, и для Vista/7, но в последних она включена в стандартную поставку, а в XP - нет.
А потому что ты невнимательный. 1 2 Wink
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 01, 2010 12:19    Post subject: Reply with quote

Flasher wrote:
А потому что ты невнимательный. 1 2 Wink
Я не понял, в чем именно я невнимателен. Ни один пост не указывает явно, что именно я написал не так. А написать подробнее ты не потрудился.

Если Tol!k хочет именно символические ссылки, он должен иметь ОС Vista или 7. Но в таком случае его система уже должна располагать утилитой mklink. Если же у него XP, то о символических ссылках можно только мечтать, так как система XP их просто не поддерживает.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Fri Oct 01, 2010 12:23    Post subject: Reply with quote

MVV
Позволю себе напомнить, что термин "символическая ссылка" в разных операционных системах по милости MS означает разные вещи.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 01, 2010 12:30    Post subject: Reply with quote

MVV wrote:
А написать подробнее ты не потрудился.
Тружусь: ты спросил "а почему бы не использовать", я даю ссылки, где mklink от Microsoft и описывается, что в первом, что во втором случае. По-моему это понятно из постов и ссылки, ведущей на описание синтаксиса данной утилиты. Ничего не забыл?
MVV wrote:
Если Tol!k хочет именно символические ссылки, он должен иметь ОС Vista или 7. Но в таком случае его система уже должна располагать утилитой mklink. Если же у него XP, то о символических ссылках можно только мечтать, так как система XP их просто не поддерживает.
То, чего хочет Tol'k(а правильней сказать "что ему нравится"), - это отдельный вопрос (т.е. его личное дело), и он выпадает из обрисованной мной ситуации.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 01, 2010 12:57    Post subject: Reply with quote

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" ("точка монтирования").

Но замечу, что ребята в рамках данной темы обсуждали использование ссылок применительно к файлам, а точки соединения, некогда неправильно названные символическими ссылками, возможны только для каталогов - то есть, они использовали правильный термин.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 01, 2010 13:45    Post subject: Reply with quote

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-го, ссылка с оффсайта на утилиту мёртвая. Допустим ли вариант с перекупкой копирайта мелкомягкими?
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Oct 01, 2010 17:35    Post subject: Reply with quote

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"'
— это будут только директории.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Oct 01, 2010 18:39    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Samwatas



Joined: 12 Sep 2009
Posts: 95

Post (Separately) Posted: Sat Oct 02, 2010 00:58    Post subject: Reply with quote

Serge Yolkin wrote:
На какую сумму я могу расчитывать за такой батник?

Зачем же заниматься мазохизмом с батниками? Если у меня появится похожая задача, я просто возьму более совершенный инструмент (в качестве такового у меня пока выступает АвтоИт), с помощью которого можно легко и не напрягаясь сделать всё, что мне нужно будет. Так что от меня не стоит рассчитывать даже на $1 (не говоря уж о 10). Very Happy
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Sat Oct 02, 2010 01:08    Post subject: Reply with quote

Tol!k wrote:
Я и хотел её использовать, да никто её не даёт.

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

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

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

Может она куда в cmd зашита?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Oct 02, 2010 01:21    Post subject: Reply with quote

Да, в Windows 7 mklink - это команда командного интерпретатора (если просмотреть содержимое CMD.exe в Юникоде, эта строка будет найдена среди кучи строк других команд). А даже если бы был экзешник, под Windows XP он бы не запустился - импортирует функции, отсутствующие в ядре XP (как минимум, функцию CreateSymbolicLinkW из библиотеки kernel32.dll). Мне почему-то казалось, что есть ее аналог для Windows XP (создающий точки соединения и жесткие ссылки).

Под XP в официальном дополнительном наборе инструментов есть утилита linkd. Также можно использовать утилиту junction от Марка Руссиновича. Но они умеют создавать только точки соединения для папок, жесткие ссылки на файлы ими не создать.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 9, 10, 11  Next
Page 6 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group