[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样拖动部分文件进行重命名?

有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 (,支持用鼠标拖放操作,可是只支持单个处理。
怎么样可以实现多个文件重命名,但不是全部。

有许多图片需要重命名,麻烦高手帮助一下,用批处理该怎么做。

改成 %* 试试

TOP

回复 2# DAIC


    你好,还是只改了一张照片

TOP

拖动的话不能用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
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

拖动不建议用 bat,有隐患,改用 vbs 吧

TOP

回复 4# xxpinqz


    试了没反应啊,层主

TOP

回复 6# 随风而行

正式修改要删除echo
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 7# xxpinqz


    我是删了的,还是只能一次处理一个文件,两个就提示语法不正确了

TOP

回复 8# 随风而行

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

自己参考下

http://www.bathome.net/thread-7509-1-1.html
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 9# xxpinqz

实在抱歉,问题没描述清楚,,我去看看你推荐的相关资料,谢谢!

TOP

@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

TOP

返回列表