Board logo

标题: [文件操作] 批处理怎样拖动部分文件进行重命名? [打印本页]

作者: 随风而行    时间: 2014-7-28 12:31     标题: 批处理怎样拖动部分文件进行重命名?

有10张图片(*.png),鼠标选中其中几张进行重命名。我自己参考论坛写了如下命令
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.png) do (
  4.   set "str=%%a"
  5.   ren "%%a" "!str:.png=_%date:~0,4%%date:~5,2%%date:~8,2%.png!"
  6. )
  7. pause
复制代码
这是处理全部图片的。我把第三行改为for /f "delims=" %%a in ("%1") do (,支持用鼠标拖放操作,可是只支持单个处理。
怎么样可以实现多个文件重命名,但不是全部。

有许多图片需要重命名,麻烦高手帮助一下,用批处理该怎么做。
作者: DAIC    时间: 2014-7-28 14:21

改成 %* 试试
作者: 随风而行    时间: 2014-7-28 15:21

回复 2# DAIC


    你好,还是只改了一张照片
作者: xxpinqz    时间: 2014-7-28 15:38

拖动的话不能用set "str=%%a"
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (%*) do (
  3.   set "str=%%~nxa"
  4.   echo ren "%%a" "!str:.png=_%date:~0,4%%date:~5,2%%date:~8,2%.png!"
  5. )
  6. pause
复制代码

作者: CrLf    时间: 2014-7-28 16:54

拖动不建议用 bat,有隐患,改用 vbs 吧
作者: 随风而行    时间: 2014-7-28 21:46

回复 4# xxpinqz


    试了没反应啊,层主
作者: xxpinqz    时间: 2014-7-29 16:39

回复 6# 随风而行

正式修改要删除echo
作者: 随风而行    时间: 2014-7-30 11:10

回复 7# xxpinqz


    我是删了的,还是只能一次处理一个文件,两个就提示语法不正确了
作者: xxpinqz    时间: 2014-7-30 19:01

回复 8# 随风而行

有什么问题正面写出来很难吗?老要人猜你的想法?

自己参考下

http://www.bathome.net/thread-7509-1-1.html
作者: 随风而行    时间: 2014-7-31 01:46

回复 9# xxpinqz

实在抱歉,问题没描述清楚,,我去看看你推荐的相关资料,谢谢!
作者: 34205    时间: 2015-1-22 19:17

@echo off
Mode con: cols=32 lines=3

:GO
echo =======说明区========
Echo 文件进行重命名,用鼠标拖放操作,可是只支持单个处理
echo =======代码区========
Md temp\
cd temp\
setlocal enabledelayedexpansion
for %%a in (%*) do (
  set "str=%%~nxa"
  echo ren %%a "!str:.Jpg=_%date:~0,4%%date:~5,2%%date:~8,2%.Jpg!" >Temp_23.Bat
        echo Del Temp_23.Bat >>Temp_23.Bat
        call Temp_23.Bat
)

echo =======退出区=======
:Out
echo.
echo 退出.......
Ping -n 5 127.1>nul
exit /b




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2