View previous topic :: View next topic |
Author |
Message |
Tol!k
![](images/avatars/669041092480e51f29c817.jpg)
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Oct 02, 2010 06:22 Post subject: |
|
|
MVV
Понятно, мне тоже показалось, что есть аналог от M$ для XP.
Но если невозможно решить задачу встроенными средствами, то лучше уж для всего использовать одну утилиту, а не несколько разных.
All
Убрал ".exe" из кодов батников.
Samwatas wrote: | Зачем же заниматься мазохизмом с батниками? Если у меня появится похожая задача, я просто возьму более совершенный инструмент (в качестве такового у меня пока выступает АвтоИт), с помощью которого можно легко и не напрягаясь сделать всё, что мне нужно будет. Так что от меня не стоит рассчитывать даже на $1 (не говоря уж о 10). | Ну почему же мазохизмом? Задача решается на бате встроенными средствами за несколько минут. Т.е. трудозатрат значительно меньше, чем на $1. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Oct 02, 2010 08:05 Post subject: |
|
|
Tol!k wrote: | Для директорий нужны другие ключи | Для junction я написал, это первая строка, вторая - для файлов. Для ln такие: Code: | Usage. ln [options] file|dir|UNCname new_name|new_dir|UNCname
These options are available
-r, --recursive SRCPATH DESTPATH
-e, --enum SRCPATH Enumerate corresponding files under SRCPATH
-j, --junction JUNCTION TARGETDIR
-j, --junction JUNCTION
-c, --copy SRCPATH DESTPATH
-m, --move SRCPATH DESTPATH
-q, --quiet Operation with no output
-h, --help This help
Samples
ln sourcefile.txt destination.txt
ln --recursive x:\dir\dir2 x:\dir\newdir
ln --recursive x:\dir\dir2 x:\anotherdir
ln \\local_computer\sourcefile.txt x:\dir_on_local_computer\destination.txt
ln \\local_computer\sourcefile.txt \\local_computer\destination.txt
ln --recursive \\local_computer\sourcedir x:\dir\dir2
ln --recursive \\local_computer\sourcedir \\local_computer\destdir\sample
ln --enum x:\dir\dir2
ln --copy x:\source\dir2 x:\dest\dir2
ln --junction x:\source\junction x:\dest\junction target
ln --junction x:\source\junction |
Tol!k wrote: | Для файлов: .. | Здорово! Отличный инструмент получился.
Надеюсь, den114 это устроит.
MVV wrote: | Под XP в официальном дополнительном наборе инструментов есть утилита linkd. Также можно использовать утилиту junction от Марка Руссиновича. Но они умеют создавать только точки соединения для папок, жесткие ссылки на файлы ими не создать. | В прилагаемом бонусе всё это есть и не только.
Tol!k wrote: | Убрал ".exe" из кодов батников. | Для mklink путь-то всё равно прописывать надо. Tol!k wrote: | Понятно, мне тоже показалось, что есть аналог от M$ для XP. | А чего вы так к мелкомягким прицепились? Они вам денег за промоушен не заплатят.) Есть утилита, которая вышла раньше, значит она не альтернатива, а наоборот, и ничем иным, как аналогом, её не назвать. Tol!k wrote: | то лучше уж для всего использовать одну утилиту, а не несколько разных. | Мне важно узнать какая из них быстрей справляется со своей задачей, а также хотелось иметь примеры с этими утилитами на будущее. В конечном итоге будет выбрана одна единственная. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Tol!k
![](images/avatars/669041092480e51f29c817.jpg)
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Oct 10, 2010 13:06 Post subject: |
|
|
Flasher wrote: | Для mklink путь-то всё равно прописывать надо. | Для XP без внешних утилит: Code: | rem mklink /h "%trg%\%p%%~nx1" %1
fsutil hardlink create "%trg%\%p%%~nx1" %1 |
Flasher wrote: | Мне важно узнать какая из них быстрей справляется со своей задачей | Думаю, все они используют API, т.ч. скорость будет одинакова и на порядок быстрее работы остального кода батника. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
b3ny
Joined: 16 Dec 2010 Posts: 3
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Dec 16, 2010 19:57 Post subject: |
|
|
b3ny
Это закомментированная строка. В комментарии указаны параметры для кнопки либо em_ команды. Сам скрипт менять не надо. Скобки тут не нужны, могут понадобиться лишь кавычки при наличии пробелов в путях. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
b3ny
Joined: 16 Dec 2010 Posts: 3
|
(Separately) Posted: Fri Dec 17, 2010 09:34 Post subject: |
|
|
Flasher
спасибо разобрался. Только как сделась чтоб вложенные папки также проверялись? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Batya
![](images/avatars/14956831694439fb6161cdd.gif)
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Dec 17, 2010 13:09 Post subject: |
|
|
b3ny wrote: | Только как сделась чтоб вложенные папки также проверялись? |
Не понял.
Я проверяю, существует ли файл или папка, представленные в первом файле-списке.
Второй список формируется из строк, по которым не существует ни файла, ни папки с таким путём.
Или у тебя в первом списке не полные пути, а только имена?
Приведи пример, что ты хочешь видеть от работы скрипта. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
b3ny
Joined: 16 Dec 2010 Posts: 3
|
(Separately) Posted: Fri Dec 17, 2010 20:37 Post subject: |
|
|
Batya
Исходный список вида
aaa.mp3
bbb.mp3
Нужно просканить папку, включая вложенные, и найти файлы которые есть в списке, но отсутствуют в папках. Тот скрипт делает то что надо, но только в одной папке и еще прописывает пути к файлам в итоговом списке. Нужны только имена. Еще очень желательно чтоб в исходном списке можно было задать только начало имени.
Еще такой момент чтоб память жрало не сильно.)) По аналогии с этим скриптом. Он хоть работает медленно но все находит. А этот работает быстрее но грузит комп напрочь и через некоторое время вылетает ошибка out of memory. Список 8000, файлов порядка 40000. Запущен только тотал, памяти 512 - древний ноут. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Aug 11, 2011 22:23 Post subject: |
|
|
Tol!k
Если брать %F вместо маски.txt, то в некоторых ситуациях помимо ссылок на выделенные файлы создаёт ссылки для каких-то папок, имеющих часто несхожие с файлами имена. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Tol!k
![](images/avatars/669041092480e51f29c817.jpg)
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Aug 12, 2011 00:54 Post subject: |
|
|
%F используется для конкретных имён (правильнее было бы использовать %L) или для масок (D:\*\имя.ext) ?
Ссылки на папки вроде бы вообще не должны создаваться,
м.б. создаётся ссылка на D:\ну\очень\длинный\путь\имя.ext ? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Aug 12, 2011 01:03 Post subject: |
|
|
%L вроде вообще не работает. А %F, да, для конкретных имён из текущей папки, исходя из параметров. Всё логично. Tol!k wrote: | ну\очень\длинный\путь | Нет, допустим курсор на "C:\Тест\ds-oitfiles-133032.pdf", здесь же есть каталог "2", создаются ссылки и на файл и на папку (не только на эту, причём). |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Tol!k
![](images/avatars/669041092480e51f29c817.jpg)
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Aug 12, 2011 01:16 Post subject: |
|
|
Flasher wrote: | %F, да, для конкретных имён из текущей папки, исходя из параметров. Всё логично. | Нет. Тот бат делался именно для масок.
Т.е. если курсор на C:\Тест\ds-oitfiles-133032.pdf то будут созданы ссылки на
C:\Тест\ds-oitfiles-133032.pdf
C:\Тест\2\ds-oitfiles-133032.pdf
C:\Тест\2\3\ds-oitfiles-133032.pdf
C:\Тест\2\3\и\так\далее\ds-oitfiles-133032.pdf
(если они существуют, конечно)
Для конкретных файлов нужен будет другой |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Aug 12, 2011 01:27 Post subject: |
|
|
Действительно, есть такой момент с наличием одноимённых файлов.
Но тут скорей речь не о конкретных файлах идёт, а об обрабоке только выделенного, т.е. рекурсия по выделенным папкам, а не по всем в указанной. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Tol!k
![](images/avatars/669041092480e51f29c817.jpg)
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Aug 16, 2011 18:07 Post subject: |
|
|
Quote: | Действительно, есть такой момент с наличием одноимённых файлов. | Ну, это какбы by design
Quote: | Но тут скорей речь не о конкретных файлах идёт, а об обрабоке только выделенного, т.е. рекурсия по выделенным папкам, а не по всем в указанной. | Не понимаю. Если не маски и не конкретные файлы, то что?
Если нужны ссылки на папки, сразу пиши командную строку для выбранной утилиты, чтобы мне не изучать ключи |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 16, 2011 18:13 Post subject: |
|
|
Tol!k
При чём тут ссылки на папки? Рекурсия пофаловая и только. Т.е. всё то же самое, что делает батник, только с условием, что обработка ведётся, как я уже писал, по содержимому выделенных папок, а не по всему содержимому активной папки. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|
|
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
|