Board logo

标题: [文件操作] 文件按上级目录名命名批处理怎么写? [打印本页]

作者: 李道001    时间: 2021-1-1 22:01     标题: 文件按上级目录名命名批处理怎么写?

求一个可以按照文件夹名批量重命名的批命令
作者: qixiaobin0715    时间: 2021-1-2 11:55

回复 1# 李道001
你说的太笼统了吧,你自己知道要干什么,别人无法理解。
作者: 李道001    时间: 2021-1-2 14:12

回复 2# qixiaobin0715
有几百个jpg文件,需要按照文件夹名来批量命名
作者: terse    时间: 2021-1-2 15:59

本帖最后由 terse 于 2021-1-2 16:00 编辑

取文件夹名 余下自己组合吧
  1. for /f "delims=" %%i in ("%cd%") do echo %%~nxi
复制代码
再加一代码吧
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /s /b /a-d "*.jpg" 2^>nul') do (
  3.         for /f "delims=" %%a in ("%%~fnxi\..") do echo;ren "%%i"  "%%~na_%%~nxi"  
  4. )
  5. pause
复制代码

作者: netdzb    时间: 2021-1-2 17:34

回复 4# terse

%%~fnxi这个表示什么?没有看懂,请指点一下,谢谢!
作者: terse    时间: 2021-1-2 17:44

回复 5# netdzb

文件路径呗
作者: netdzb    时间: 2021-1-2 18:28

回复 6# terse

nxi不是扩展名吗?加了个f,我都没有搜索到这个用法,这个是绝对路径的意思吗?
作者: terse    时间: 2021-1-2 18:32

回复 7# netdzb
for /?
  %~fI        - 将 %I 扩展到一个完全合格的路径名
作者: 李道001    时间: 2021-1-3 17:41

回复 4# terse


    两位老哥,这路径加在哪里,完全新手,有点懵
作者: Batcher    时间: 2021-1-3 20:04

回复 9# 李道001


    执行4楼第2段代码的时候遇到什么报错信息了吗?
作者: 李道001    时间: 2021-1-4 10:55

回复 10# Batcher


    @echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /b /a-d "C:\Users\Administrator\Desktop\新建文件夹\*.jpg" 2^>nul') do (
        for /f "delims=" %%a in ("%%~fnxi\..") do echo;ren "%%i"  "%%~na_%%~nxi"  
)
pause
这样哪里错了
作者: Batcher    时间: 2021-1-4 11:47

回复 11# 李道001


请参考Q-01观察一下哪行代码在报错:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: qixiaobin0715    时间: 2021-1-4 15:17

回复 11# 李道001
把下面代码存为bat文件,放到图片文件夹里运行:
  1. @echo off
  2. for %%a in (*.jpg) do (
  3.     for %%b in ("%%~dpa.") do ren "%%a" "%%~nb_%%a"
  4. )
  5. pause
复制代码





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