Как переименовать 80 000 файлов сразу в Windows

У меня есть 80 000 файлов в папке, и я должен переименовать все их от

filename.jpg

кому:

._filename.jpg

в среде Windows я предполагаю от DOS. Причина состоит в том, что я сжал эти файлы в tar.gz от Unix и скопировал в окна, и по некоторым причинам имена файлов изменились.

Вы могли сказать мне, что команда должна сделать это?спасибо

8
задан 20.04.2011, 14:31

9 ответов

Можно использовать встроенный rename или ren команда:

ren *.jpg ._*.jpg

Хотя, как со всеми этими вещами, попробуйте его на каталоге, содержащем всего несколько файлов сначала.

3
ответ дан 07.12.2019, 13:43

Вот способ использовать PowerShell:

Перейдите к своей папке и выполните эту команду

Get-ChildItem *.jpg | Rename-Item -newname {"._" + $_.Name}

Дополнительная бонусная короткая версия:

gci *.jpg | ren -newname {"._" + $_.Name}
15
ответ дан 07.12.2019, 13:43

У меня есть 2 решения:

  1. Все файлы находятся в той же папке

    • выполните следование из командной строки на той папке:

      for /f "delims=¯" %i in ('dir /b /on') do ren "%i" "._%i"
      
  2. полное решение, когда существуют файлы в подпапках И когда Вы хотите для замены "n" первые символы строкой, Вы хотите :D

    • создайте пакетный файл со следующей командой
    • измените переменные параметры на то, что Вы хотите
      • path: вставить "" корневой путь Ваших файлов (например, "C:\documents and settings\user\desktop\new folder"
      • numfirstchars2replace: поместите число с первыми символами для замены (в случае, 2)
      • str2put: поместите строку, которая будет добавлена как префикс нового имени файла (в Вашем случае, ._)
    • выполните его в папке, отличающейся от того, где файлы


@echo off

::only to tell user what this bat are doing
echo.1.initializing...

::enable that thing to allow, for example, incremental counter in a for loop :)
echo.- EnableDelayedExpansion
SETLOCAL EnableDelayedExpansion

::variables
echo.- variables
:: - place here the absolute root path of your files
set path="put here where are the root folder of your files"
set pathbak=%cd%
set numfirstchars2replace=2
set str2put=._

::go to %path% and its driveletter
echo.- entering the path you want
for /f "delims=¯" %%i in ('echo.%path%') do %%~di
cd %path%

::search all subfolders and save them to a temp file
echo.- searching for subfolders
echo.%path%>%temp%\tmpvar.txt
for /f "delims=¯" %%i in ('dir /s /b /on /ad') do echo."%%i">>%temp%\tmpvar.txt

::execute command for root folder and all found subfolders
echo.
echo.2.executing...
for /f "delims=¯" %%i in (%temp%\tmpvar.txt) do (
  cd %%i
  echo.- in folder: %%i
  for /f "delims=¯" %%j in ('dir /b /on /a-d') do (
    set newname=%%j
    set newname=!newname:~%numfirstchars2replace%,1000!
    echo.- renaming from "%%j" to "%str2put%!newname!"...
    ren "%%j" "%str2put%!newname!"
  )
)

echo.
echo.3.exiting...
::return to %pathbak% and its driveletter
for /f "delims=¯" %%i in ('echo.%pathbak%') do %%~di
cd %pathbak%

@echo on
6
ответ дан 07.12.2019, 13:43

Если они - все в той же папке, Вы могли бы выбрать их всех с Control + A и затем хит F2 переименовать одного из них. Все последующие файлы назовут файлом (2), файлом (3), и т.д.

3
ответ дан 07.12.2019, 13:43

Попробуйте Powershell (предварительно установленный в Windows 7):

Get-Childitem /path/to/your/files | foreach-object { move-item $_ $("._" + $_.name) }

(протестированный это в моем dir загрузки)

Править: Код Siim K добавит дополнительный ".jpg" к каждому "._filename.jpg". Удалите это длится ".jpg" в коде Siim K, и у Вас есть короткий, изящный код для переименования файлов.

3
ответ дан 07.12.2019, 13:43

У общего Командующего есть действительно хороший инструмент мультипереименования.

3
ответ дан 07.12.2019, 13:43

Я всегда находил Flash Renamer, чтобы быть хорошим инструментом для переименования файлов в пакетах.

Это имеет пробные и полные версии (20$) и может переименовать файлы на основе метаданных - очень полезный для переименования файлов MP3, которые я, для чего я использую его главным образом.

0
ответ дан 07.12.2019, 13:43

Если Ваш поиск удобного для пользователя способа переименовать оптом Вас мог бы попробовать Муравья бесплатного инструмента Renamer, существует огромный список мер, которые можно принять, и он также дает удобный предварительный просмотр, прежде чем Вы сделаете любое переименование. Я использую его много при питании с моей музыкой, фотографией или видео библиотеками.

0
ответ дан 07.12.2019, 13:43

Я использовал этот бесплатно распространяемый Файл программа Renamer с большими результатами. Много различных фильтров и опций, плюс он дает Вам способность к результатам испытаний. Немного устаревшего UI, возможно, но работы как чемпион.

http://www.webxpace.com/software/freeware.shtml#FileRenamer

0
ответ дан 07.12.2019, 13:43

Теги

Похожие вопросы