Можно ли переименовать первые подпапки в каждой папке?

BULKA8

Имеется главная папка с множеством подпапок с разными уровнями вложения и со всеми этими подпапками (всех уровней вложения) нужно взять первую из них в каждой из папок и добавить в имя какой-то знак (например - @) спереди.
Файлов там нет, одни папки.
Можно ли вообще это сделать кроме как руками?

nikola1956

Можно маленький скрипт написать.

nata_chira

первую
по какому критерию?

AlexV769

вангую следующий тред "как игнорировать @ в именах папок".
ППЦ, блин. ЗАЧЕМ тебе это?

dangerr

 
Можно ли переименовать

Имеется главная папка
 

постоянный отец:
ЗАЧЕМ тебе это?
Главный папка требует объяснений и разрешения на переименование пока не даёт.

BULKA8

по какому критерию?
ну по тому же критерию по которому они выстраиваются в опции "упорядочить значки" - "имя".
Линейный порядок по именам.

BULKA8

вангую следующий тред "как игнорировать @ в именах папок".
ППЦ, блин. ЗАЧЕМ тебе это?
Это восполняет отсутствие требующихся мне опций в программе-каталогизаторе.
Я нашел алгоритм автоматического создания раскрывающихся javascript-меню и дело застряло на этой задаче.
Конечно я потом должен буду убрать этот @ но уже программой замены строк в текстовом файле, это тривиально.

nata_chira

ты кстати в курсе, что разные версии винды по-разному упорядочивают папки, имена которых начинаются с цифр?
как ты переименуешь папки программой, которая редактирует текстовые файлы?

BULKA8

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

nikola1956

Вот простенький скрипт, который решает твою задачу, в плане рекламы языка D :)

import std.stdio;
import std.file;
import std.path;
import std.string;

void main(string[] args) {
string prefix = strip(args[1]);
string path = strip(args[2]);

bool[string] parents;
foreach (string name; dirEntries(path, SpanMode.depth{
string parent = dirName(name);
if (parent !in parents){
writeln("Rename: ", name);
rename(name, buildPath(parent, prefix ~ baseName(name );
parents[parent] = true;
}
}

writeln("Done!");
}

Скомпилированное exe-приложение для запуска в консоли Windows:
Запуск скрипта:

> Ruslan @ C:\TargetFolder

BULKA8

огромнейшее спасибо!
Я прорвался!
Кажется скоро буду публиковать свой проект.

stm6692945

эх ты...
а ведь можно было бы ему послать какую-нить очень хитрую програмку
к примеру все удалить нафиг

BULKA8

какашонок ты

YUAL

Руслан, освой уже bash и линукс. Твоя параноя будет встопицот раз спокойнее, а эти бесконечные задачки твои будут решаться проще.
 
  prefix="@";inpath="/tmp/test/"; for i in `find "$inpath" -mindepth 1 -type d` ; do k=`find "$i" -mindepth 1 -type d | sort | head -1` ;  mv "$k" "${k%\/*}/${prefix}${k##*\/}" ;done 

elenangel

не надо, тогда он набижит в наш уютненький альт

YUAL

И кстати не придётся запускать бинарники от поповских провокаторов.

svetaslav212

И кстати не придётся запускать бинарники от поповских провокаторов.
Скрипты, пестрящие малопонятными сочетаниями символов надежнее, конечно. :smirk:

YUAL

их может проверить каждый. для этого не надо занимать декомпиляцией бинарника.

nikola1956

Бинарник тоже может скомпилировать каждый из приведенного выше кода. Достаточно скачать и запустить компилятор dmd языка D с открытым исходным кодом. ;)

YUAL

угу. ему уже как-то писали скрипт на си и на пхп для подобных манипуляций. ты предлагаешь ему обзавестить набором разнообразных компиляторов и интерпретаторов?

Ivan8209

Хорошо, что CSRG финансировалась DARPA...
---
Q11: *ix это че?
A11: Это кодовое название проекта следующего (после K&R) поколения
под рабочим названием Хрюних.

Ivan8209

>>> И кстати не придётся запускать бинарники от поповских провокаторов.
>> Скрипты, пестрящие малопонятными сочетаниями символов надежнее, конечно.
> их может проверить каждый. для этого не надо занимать декомпиляцией бинарника.
Интерпретатор считаем идеальным?
---
Q3: чиво вы тyт витвоpяите, ламиpы? чиво за атстойная эха?
я тyта всем хател pасказать пpа то, что XXX самый pyлиз фаpева,
а вы тyта бpедите и абастpяитесь?
Оставить комментарий
Имя или ник:
Комментарий: