返回列表 发帖
本帖最后由 flyinnet9 于 2015-7-31 09:32 编辑

不知道你的“(”是半角还是全角,自己填吧
@echo off
for /f "tokens=1,2 delims=(" %%a in ('dir /a-d /b /s  d:\*.* ^|find "冲突"') do ren "%%a(%%b" "%%~na%%~xb"COPY

TOP

本帖最后由 ygqiang 于 2015-7-31 10:09 编辑
不知道你的“(”是半角还是全角,自己填吧
flyinnet9 发表于 2015-7-31 09:22



    多谢。。。如何修改下代码,实现:
判断如果存在源文件,就先删除源文件,再重命名。。

TOP

@echo off
for /f "delims=" %%i in ('dir /b /s /a-d "*(冲突*).*"') do (
    set "strName=%%~ni"
    setlocal enabledelayedexpansion
    for /f "delims=*" %%j in ("!strName:(冲突=*!") do (
        endlocal
        if exist "%%~dpi%%j%%~xi" move /y "%%i" "%%~dpi%%j%%~xi"
    )
)
pauseCOPY
1

评分人数

TOP

本帖最后由 flyinnet9 于 2015-7-31 10:39 编辑

原来有
000(冲突_admin-pc-PC_2015-07-27 21-28-26).txt
000(冲突_admin-pc-PC_2015-07-27 21-28-26).ppt
000.txt
000.ppt
删除
000.txt
000.ppt

000(冲突_admin-pc-PC_2015-07-27 21-28-26).txt
000(冲突_admin-pc-PC_2015-07-27 21-28-26).ppt

000.txt
000.ppt
??
所以说,需求要讲清楚。。。
@echo off
for /f "tokens=1,2 delims=(" %%a in ('dir /a-d /b /s  d:\*.*^|find "冲突"') do (
if exist "%%a%%~xb" del "%%a%%~xb"
ren "%%a(%%b" "%%~na%%~xb"
)COPY
1

评分人数

TOP

WHY 发表于 2015-7-31 10:15



    多谢。。。

你这个代码也是好用的。。。如何修改下代码,实现:
搜索某个目录下所有的文件。。比如c:\test目录下。。

TOP

原来有
000(冲突_admin-pc-PC_2015-07-27 21-28-26).txt
000(冲突_admin-pc-PC_2015-07-27 21-28-26).ppt ...
flyinnet9 发表于 2015-7-31 10:32



    多谢。。测试了下。。好用。。。

TOP

返回列表