![]() 高级会员
|
求二个批处理,功能:
1.选择一个或多个文件(夹),可将这些文件(夹)移动到上一层目录,如上层目录有同名文件(夹),自动重命名为“原文件(夹)名_new”。 2.在当前目录下选择一个或多个文件夹,把所选文件夹内的文件移动到当前目录,如当前目录有同名文件,自动重命名为“原文件名_new”,移出后删除选定的文件夹。 谢谢! 此帖于 2010-11-01 15:52:08 被 Huangwen 编辑. . |
||
![]() |
批处理一:move_up.cmd 代码:
@echo off :st if not exist "..\%~nx1" (move "%~dpnx1" ..) else ( for /l %%L in (1,1,9999) do if not exist "..\%~n1(%%L)%~x1" (move "%~dpnx1" "..\%~n1(%%L)%~x1"&goto shift) ) :shift shift if not [%1]==[] goto st 代码:
@echo off :st if not exist "%~nx1\*.*" goto shift for %%A in ("%~nx1\*.*") do ( if not exist "%%~nxA" (move "%%~dpnxA" .) else call:ren "%%A" ) rd "%~nx1"||echo "%~nx1"&&pause :shift shift if not [%1]==[] goto st goto :eof :ren for /l %%L in (1,1,9999) do if not exist "%~n1(%%L)%~x1" (move "%~dpnx1" "%~n1(%%L)%~x1"&goto :eof) goto :eof |
![]() 热心会员
|
是配合TC用的?怎样实现多选?我试了一下,用空格多选文件(夹)后,只能执行最后一个文件(夹)?
另外,如果文件有重复,重新命名后就会改变扩展名了,比如:A.txt变成A.txt_new 此帖于 2010-11-01 14:29:26 被 mouze 编辑. . |
||
![]() 高级会员
|
谢谢回复:
是配合TC,TC的多选参数是%P%S。文件名重复,命名规则换成xxx(1).ext可好? |
||
![]() 热心会员
|
批处理一:move_up.cmd
代码:
@echo off :st if not exist "..\%~nx1" (move "%~dpnx1" ..) else ( for /l %%L in (1,1,9999) do if not exist "..\%~n1(%%L)%~x1" (move "%~dpnx1" "..\%~n1(%%L)%~x1"&goto shift) ) :shift shift if not [%1]==[] goto st 代码:
@echo off :st if not exist "%~nx1\*.*" goto shift for %%A in ("%~nx1\*.*") do ( if not exist "%%~nxA" (move "%%~dpnxA" .) else call:ren "%%A" ) rd "%~nx1"||echo "%~nx1"&&pause :shift shift if not [%1]==[] goto st goto :eof :ren for /l %%L in (1,1,9999) do if not exist "%~n1(%%L)%~x1" (move "%~dpnx1" "%~n1(%%L)%~x1"&goto :eof) goto :eof 此帖于 2010-11-02 10:14:48 被 mouze 编辑. . 原因: 修正move_here.cmd的一个BUG |
||
![]() 高级会员
|
|
||