다람리네이머
는 파일 이름을 일괄적으로 변경하는 응용프로그램입니다.
.NET6
또는 그보다 최신 버전Windows 7
또는 그보다 최신 버전Windows 11 21H2
를 추천
DaramRenamer
is application program for batched filename change.
.NET6
or newerWindows 7
or newer- Recommended
Windows 11 21H2
- Recommended
Filename batch change application
License: Other
Current behavior:
Click icons and enter information to make changes to original files.
Requested capability:
Click icon or screen element to open a view of transformations and enable transformation order change. For example:
Replace text "test" with "eval"
Concat text "vehicle" with front, no extention
Casecast method: To lower
Thanks to smaragdus for pointing this out to me. Came across a minor issue
Setup: Win7x86
Steps:
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}) 인데 이걸 모두 지우게끔 하면 이것과 맞지 않는 모든 파일까지 전부 이름이 통으로 지워집니다.
혹시 제가 잘못 사용하고 있는지 확인하고 싶군요
정규표현식 란에 제가 매칭하고싶은 패턴이 들어가고
구성 형식문자열에 제가 만들고싶은 내용이 들어가면 되나요
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.
the two *config.json files are quite hard to read while all tokens are listed in one single line.
Please enhance these config.json files with newline characters to make them more legible
지난번에 폴더 이름 받아오는 문제로 말씀드린 사람입니다.
폴더가 드래그로 등록이 되는건 알고 있던 사항이었구요, 그게 아니라 다른 걸 제안드린 건데 제 설명이 부족했던 모양이네요.
예를 들어서 /리네이머/폴더의 파일 중 '사람.ext'의 파일 이름 '리네이머-사람.ext'로 바꾸고 싶은 상황입니다.
이때 앞에 붙는 '리네이머'는 파일이 속한 폴더명입니다.
이 기능을 넣어주시는게 가능하신가 해서 여쭤봤었습니다.
혹시 가능한 문제일까요?
제가 일괄처리 기능을 사용해보고 싶어서 해봤는데 에러코드가 발생하더군요.
!replace:"도레미" "미레도"
이렇게 넣으니 아래와 같은 에러가 발생합니다.
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, Action
1 body, Action2 bodyWithState, Func
4 bodyWithLocal, Func1 localInit, Action
1 localFinally)
위치: System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action
1 body, Action2 bodyWithState, Action
3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func
5 bodyWithEverything, Func1 localInit, Action
1 localFinally)
위치: System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, Action
1 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]를 제거하십시오.
<---
==========================================================
뭔가 로딩이 안되는 듯 하여, 글 남깁니다.
좋은 프로그램 잘 사용하고 있습니다.^^
While tying to rename a bunch of files, DaramRenamer suddenly crashed.
See attached UnhandledException.log
UnhandledException.log
.
I updated from version 3.600 to version 3.700 and Daram Renamer fails to start, screens:
error log:
This happens under Windows 8 x64. Daram Renamer version 3.600 is working just fine on my system.
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
the new monochrome one introduced in version 3.300:
Daram Renamer version 3.400 - toolbar
is too bland and dull for me.
I suppose that other users may also like the old toolbar more.
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.
똑같은 파일을 만들어서, 다른 글에 올려주신 예제를 적용해보았으나 반응 자체가 없습니다.
아마 작동 자체가 안되는것 같더라구요.
뭔가 라이브러리 같은걸 못 읽어오는 것 같은데, 어떻게 해야 하나요?
Downloaded DaramRenamer from Majorgeeks.
Installed it manually in C:\Program Files\DaramRenamer and created a shortcut on the desktop.
Windows 11 Enterprise
기본인 한글에서는 정상적으로 이름 바꾸기가 동작하는데
영문판에서는 같은 파일이 이름 바꿔서 하나 더 생성되고, 기존의 것은 남네요
Apply GitHUb Actions to DaramRenamer.
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")
이 프로그램을 정말 잘 쓰고 있습니다.
알파 버전으로 올라온 리뉴얼 버전도 많이 편해서 좋네요.
첫번째 기능은 폴더 이름을 받아오는 기능입니다.
폴더 이름을 파일명으로 받아오고, 그러고 나서 뒤에 번호를 붙이려고 하는데
이를 수작업으로 하려니 조금 번거로워서요.
참고로 알씨 일괄이름 바꾸기에서 지원하는 기능인데,
다람 리네이머에서도 지원해주면 좋겠다는 생각이 들어서 제안하게 되었습니다.
두번째는 단축키 기능입니다.
너무 기본적인 단축키 기능만 지원해서 조금 더 다양한 단축키를 지원했으면 하는 바램입니다.
아니면 사용자가 단축키를 설정할 수 있는 기능이어도 좋겠습니다.
정말 잘 쓰고 있어서 제작자님께 감사하다는 말씀을 이 글을 빌어 전하고 싶습니다.
감사합니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.