ПроблемаПереименование одного файла (и ничего более одного файла) с помощью PowerShell
Я постоянно нахожусь в потребности быстрого способа переименования случайный файл здесь и там, пока я работаю. Мне нужно привести эти имена файлов в структуру, совместимую с веб-стандартами и некоторыми личными потребностями. Несколько примеров ниже:
When I find I need ---------------------------------- ----------------------------------------- Welcome to the party.JPG welcome_to_the_party.jpg Instructions (and some other tips) instructions_and_some_other_tips Bar Drinks – The Best Recipes bar_drinks_the_best_recipes La mañana del águila y el ratón la_manana_del_aguila_y_el_raton
В основном нужно:
- все символы верхнего регистра, чтобы стать строчными
- пространства, чтобы стать подчеркнуть
- некоторые другие специальные символы и диакритические для других языков, чтобы стать их ближайший совпадение (á is a, é is e, ç is c и т. д.)
- Символы like() [] {} '; , чтобы полностью исчезнуть
- Возможно, некоторые замены (необязательно): # = нет; @ = При или & = и
Не вопрос, а просто FYI, и вы можете увидеть большую картину
Я буду использовать запись реестра [HKEY_CLASSES_ROOT * \ оболочка ...] так Я могу вызвать командный файл и/или сценарий PowerShell, щелкнув правой кнопкой мыши нужный файл, передав информацию о аргументе (файл, о котором идет речь) в сценарий таким образом.
Мои догадывается
Я смотрел внимательно на скриптах PowerShell, но я не очень хорошо осведомлен об этой области еще и все решения при условии, до сих пор обращаются вся папка (Dir/Get- ChildItem) вместо определенного файла.
Например, мне удалось использовать строку ниже (PowerShell), чтобы заменить все пробелы символом подчеркивания, но затем она влияет и на другие файлы в каталоге.
Dir | Rename-Item –NewName { $_.name –replace “ “,”_“ }
Опять же, мне не нужно, чтобы решить эту проблему для всей папки, так как у меня уже есть способы сделать это с помощью программного обеспечения, как Total Commander.
Спасибо за любую помощь, которую вы можете мне дать.
Рюи
С помощью пакетного файла вы бы просто использовать несколько операторов набор для замены одного символа другим. Это базовая замена строки. Таким образом, чтобы заменить пространство символом подчеркивания: 'set var =% var: = _%' – Squashman
У нас также есть функция пакетного файла на Dostips.com для преобразования в нижний регистр. http://www.dostips.com/DtCodeCmdLib.php#Function.toLower – Squashman
Почему вы используете смарт-цитаты? Это не сработает ... – DavidPostill