Как мне удалить часть имени файла для пакета файлов в Windows 8.1?

У меня есть много файлов в папке, но они все начинаются с цифр и отделяется от имени файла "_"

например:

123123123_filename.txt

456456456_filename2.txt

789789789_filename3.txt

Я предполагаю, что вы можете запустить какую-то команду, чтобы она удалила символы перед " _ "и"_".

любая помощь очень ценится!

20
задан trashfight
05.05.2023 20:53 Количество просмотров материала 2595
Распечатать страницу

3 ответа

Если вы не знакомы с PowerShell, вы можете взглянуть на бесплатные утилиты, как:http://www.bulkrenameutility.co.uk/Download.php

0
отвечен Kenneth Berg 2023-05-07 04:41

если вы просто хотите удалить символы для списка, вы можете поместить следующее в пакетный файл, заменив соответствующий каталог на dirname

for /f "tokens=2 delims=_" %%G in ('dir /b dirname') do @echo %%G

dir /b производит голый список каталогов формат (без информации заголовка или резюме). The delims=_ указывает, что символ подчеркивания должен использоваться в качестве разделителя и tokens=2 указывает, что вы хотите, что после подчеркивания. См.FOR / F для более полного объяснения того, как используйте FOR /F в пакетном файле.

но если вы хотите переименовать файлы без цифр и подчеркивания, в вашем примере у вас есть два файла, которые дадут имя filename2.txt если числа и подчеркивание были удалены. Что вы хотите сделать в этом случае? Или вы намеревались использовать filename3.txt для третьего файла?

если после символа подчеркивания следует уникальное имя, можно использовать после переименовать файлы, подставив соответствующий каталог для relevantdir:

set dirname="relevantdir"
for /f "tokens=1,2 delims=_" %%G in ('dir /b %dirname%') do rename %dirname%\%%G_%%H %%H

в вышеуказанном случае, первый знак внимания,%%G, что до подчеркивания и второй маркер, %%H это то, что после подчеркивания. Я собрал их вместе для операции переименования и предварял их каталогом, так как команда rename использует синтаксис RENAME [drive:][path]filename1 filename2.

поставить @echo off в первой строке в батник перед set команда, если вы не хотите видеть каждую операцию переименования, как это происходит.

0
отвечен moonpoint 2023-05-07 06:58
powershell    
ls "*_*.txt" | %{mv -confirm:$false $_.name ($_.name).split("_")[1]}

powershell должно быть предпочтительнее на Win8.

0
отвечен chingNotCHing 2023-05-07 09:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх