Coder Social home page Coder Social logo

daramrenamer's Introduction

다람리네이머

다람리네이머는 파일 이름을 일괄적으로 변경하는 응용프로그램입니다.

요구사항

  • .NET6 또는 그보다 최신 버전
  • Windows 7 또는 그보다 최신 버전
    • Windows 11 21H2를 추천

DaramRenamer

DaramRenamer is application program for batched filename change.

Requirements

  • .NET6 or newer
  • Windows 7 or newer
    • Recommended Windows 11 21H2

스크린샷 (Screenshots)

Version 2021.7.1

daramrenamer's People

Contributors

daramkun avatar stephan-p avatar wcxu21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

daramrenamer's Issues

[Feature request] Transform list

Current behavior:

Click icons and enter information to make changes to original files.

Requested capability:

  1. Click icon or screen element to open a view of transformations and enable transformation order change. For example:

  2. Replace text "test" with "eval"

  3. Concat text "vehicle" with front, no extention

  4. Casecast method: To lower

Undo / redo process

Thanks to smaragdus for pointing this out to me. Came across a minor issue

Setup: Win7x86

Steps:

  1. Create some test files (all zero KB in size)
  2. Drag and drop into the window
  3. Make a change e.g. CaseCast extension "To Upper"

image

  1. Undo via CTRL+Z to undo (as expected it restores it's previous state)
  2. Press CTRL+Y to redo

Defect: list clears

If you press CTRL+Z and CTRL+Y again, the program will crash

Hope that helps.

정규 표현식 사용시 패턴 적중 여부 없이 모든 파일에 적용됨.

예를 들어 괄호 포함, 괄호 사이의 6~7자의 숫자만 제거하는 정규표현식이
([0-9]{6,7}) 인데 이걸 모두 지우게끔 하면 이것과 맞지 않는 모든 파일까지 전부 이름이 통으로 지워집니다.

혹시 제가 잘못 사용하고 있는지 확인하고 싶군요
정규표현식 란에 제가 매칭하고싶은 패턴이 들어가고
구성 형식문자열에 제가 만들고싶은 내용이 들어가면 되나요

Dialogue remains open after DaramRenamer is closed

Version 3.74
After I've succesfully renamed a couple of files, a confirmation dialogue is opened: "Applied. 2/2 Items is applied". This is just fine.
But when I close the main program, this dialogue remains open.
I would expect that closing (shutting down) DaramRenamer would close all its sibling windows.

약간의 소통 문제가 있었던 듯 해서 다시 제안드립니다.

지난번에 폴더 이름 받아오는 문제로 말씀드린 사람입니다.

폴더가 드래그로 등록이 되는건 알고 있던 사항이었구요, 그게 아니라 다른 걸 제안드린 건데 제 설명이 부족했던 모양이네요.

예를 들어서 /리네이머/폴더의 파일 중 '사람.ext'의 파일 이름 '리네이머-사람.ext'로 바꾸고 싶은 상황입니다.

이때 앞에 붙는 '리네이머'는 파일이 속한 폴더명입니다.

이 기능을 넣어주시는게 가능하신가 해서 여쭤봤었습니다.

혹시 가능한 문제일까요?

About

You may replace the current Licenses tab with About tab which has clickable links for Project, Download, Issues and License pages. You may also make the e-mail address clickable.

일괄처리 기능 예제가 있을까요?

제가 일괄처리 기능을 사용해보고 싶어서 해봤는데 에러코드가 발생하더군요.

!replace:"도레미" "미레도"

이렇게 넣으니 아래와 같은 에러가 발생합니다.

Error: 2019-06-16 01-35-49 - from Daram Renamer

System.AggregateException: 하나 이상의 오류가 발생했습니다. ---> System.IO.FileNotFoundException: 파일이나 어셈블리 'DaramRenamer.Engine' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 지정된 파일을 찾을 수 없습니다.
위치: System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
위치: System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
위치: System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
위치: System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
위치: System.Reflection.Assembly.Load(String assemblyString)
위치: Daramkun.DaramRenamer.ProcessorExtensions.get_Delegates()
위치: Daramkun.DaramRenamer.Processors.BatchProcessor.Process(FileInfo file)
위치: System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() 위치: System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) 위치: System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- 내부 예외 스택 추적의 끝 --- 위치: System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 위치: System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) 위치: System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally)
위치: System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
위치: System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, Action1 body)
위치: Daramkun.DaramRenamer.MainWindow.ClosePopup(Boolean apply)
위치: System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
위치: System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
위치: System.Windows.Controls.Primitives.ButtonBase.OnClick()
위치: System.Windows.Controls.Button.OnClick()
위치: System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
위치: System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
위치: System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
위치: System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
위치: System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
위치: System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
위치: System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
위치: System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
위치: System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
위치: System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
위치: System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
위치: System.Windows.Input.InputManager.ProcessStagingArea()
위치: System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
위치: System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
위치: System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
위치: System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
위치: System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
위치: MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
위치: MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
위치: System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
위치: System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
위치: System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
위치: MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
위치: MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
위치: System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
위치: System.Windows.Application.RunDispatcher(Object ignore)
위치: System.Windows.Application.RunInternal(Window window)
위치: Daramkun.DaramRenamer.App.Main()
---> (내부 예외 #0) System.IO.FileNotFoundException: 파일이나 어셈블리 'DaramRenamer.Engine' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 지정된 파일을 찾을 수 없습니다.
파일 이름: 'DaramRenamer.Engine'
위치: System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
위치: System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
위치: System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
위치: System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
위치: System.Reflection.Assembly.Load(String assemblyString)
위치: Daramkun.DaramRenamer.ProcessorExtensions.get_Delegates()
위치: Daramkun.DaramRenamer.Processors.BatchProcessor.Process(FileInfo file)
위치: System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.b__1()
위치: System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
위치: System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )

경고: 어셈블리 바인딩 로깅이 꺼져 있습니다.
어셈블리 바인딩 오류 로깅 기능을 사용하려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)를 1로 설정하십시오.
참고: 어셈블리 바인딩 오류 로깅 기능을 사용하도록 설정하면 그렇지 않은 경우보다 성능이 약간 떨어집니다.
이 기능을 끄려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog]를 제거하십시오.
<---

==========================================================

뭔가 로딩이 안되는 듯 하여, 글 남깁니다.

좋은 프로그램 잘 사용하고 있습니다.^^

Toolbar

Please add an option in "Settings" to use the old toolbar of Daram Renamer as it was in version 3.200:

Daram Renamer version 3.200 - toolbar
daram renamer 3 200 - 2018-05-10 - toolbar - 001

the new monochrome one introduced in version 3.300:

Daram Renamer version 3.400 - toolbar
daram renamer 3 400 - 2018-05-10 - toolbar - 001

is too bland and dull for me.

I suppose that other users may also like the old toolbar more.

List sort (crash)

Setup: Win7x86

Steps:

  1. Create some test files (all zero KB in size)
  2. Drag and drop into the window
  3. Click the A-Z sort button

Defect:

image

Click OK

image

v2022.1.1 only in Korean language?

DaramRenamer opens in Korean language, which I do not understand.
Manually editing the config.json did not make a change to this.
With some effort I managed to wade through the Korean menu to find the language option.
After selecting English or Dutch language everything is fine.

정규표현식 사용 자체가 안됩니다.

똑같은 파일을 만들어서, 다른 글에 올려주신 예제를 적용해보았으나 반응 자체가 없습니다.

아마 작동 자체가 안되는것 같더라구요.

뭔가 라이브러리 같은걸 못 읽어오는 것 같은데, 어떻게 해야 하나요?

v2022.1.1 will only run as Administrator

Downloaded DaramRenamer from Majorgeeks.
Installed it manually in C:\Program Files\DaramRenamer and created a shortcut on the desktop.

  • double clicking this shortcut does NOT start DaramRenamer
  • using the context menu, Start As Administrator DOES work

Windows 11 Enterprise

Save Window State

Please add an option in "Settings" to save window state (window size and position on desktop) after restart- window state saved to configuration file ("DaramRenamer.config.json")

두가지 사항을 제안드리고 싶습니다.

이 프로그램을 정말 잘 쓰고 있습니다.

알파 버전으로 올라온 리뉴얼 버전도 많이 편해서 좋네요.

첫번째 기능은 폴더 이름을 받아오는 기능입니다.

폴더 이름을 파일명으로 받아오고, 그러고 나서 뒤에 번호를 붙이려고 하는데

이를 수작업으로 하려니 조금 번거로워서요.

참고로 알씨 일괄이름 바꾸기에서 지원하는 기능인데,

다람 리네이머에서도 지원해주면 좋겠다는 생각이 들어서 제안하게 되었습니다.

두번째는 단축키 기능입니다.

너무 기본적인 단축키 기능만 지원해서 조금 더 다양한 단축키를 지원했으면 하는 바램입니다.

아니면 사용자가 단축키를 설정할 수 있는 기능이어도 좋겠습니다.

정말 잘 쓰고 있어서 제작자님께 감사하다는 말씀을 이 글을 빌어 전하고 싶습니다.

감사합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.