Команда переименования подпапок в Windows - PullRequest
0 голосов
/ 03 ноября 2010

Во-первых, не уверен, что это правильное место для такого вопроса, но вот так.

У меня есть структура папок

parentfolder / folder1 / 10-31-2010 /file1.pdf

        /folder2/10-31-2010/filey.pdf
        /folder3/10-31-2010/filex.pdf
        /foldern/10-31-2010/filen.pdf

Мне нужно переименовать дату в 2010-10-31.

Это разовая вещь, которая будет происходить только в одной родительской папке.Но более 10000 папок, к которым можно применить это.

Из поиска в Google я вижу, что есть много инструментов переименования файлов, но мне не разрешается устанавливать какое-либо программное обеспечение на сервер, и при этом я не могу перемещать папки ссервер.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2010

Лучше всего использовать сценарии оболочки.

!/bin/bash
FOLDER=/path/to/*/
FILES=$(find $FOLDER -name '*-*-*')
for f in $FILES
do
    o=${f%/*}
    p=${f##*/}
    mv $f $o/$(echo $p | awk -F"-" '{ print $3"-"$1"-"$2 }')
done

Это все еще использует mv и awk, надеюсь, ваш сервер имеет оба.

0 голосов
/ 03 ноября 2010

Если вы хотите сделать это из файла .bat, вы можете использовать команду DOS ren.

ren C:\folder2\10-31-2010 C:\folder2\2010-10-31

В этом ответе есть сценарий, который может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...