标题: [文件操作] 母文件夹下的子文件夹名添加到到子文件夹下的文件尾部中间用@符号隔开 [打印本页]
作者: smilingming 时间: 2018-5-11 12:07 标题: 母文件夹下的子文件夹名添加到到子文件夹下的文件尾部中间用@符号隔开
本帖最后由 pcl_test 于 2018-5-13 23:16 编辑
求助:
有一个文件A下面有 子文件夹 M1,M2,M3 其中:
M1 文件夹下有文件:
aaa.png
bbb.png
ccc.png
M2 文件夹下有文件:
aaa.png
bbb.png
ccc.png
M3 文件夹下有文件:
aaa.png
bbb.png
ccc.png
现去要做一个批处理文件,对A下面有 子文件夹 M1,M2,M3内的文件进行重命名,将 子文件夹名称放到 png图片后面,中间用" @" 或者 "—" 符号隔开 输出结果为
M1 文件夹下有文件:
aaa-M1.png
bbb-M1.png
ccc-M1.png
M2 文件夹下有文件:
aaa-M2.png
bbb-M2.png
ccc-M2.png
M3 文件夹下有文件:
aaa-M3.png
bbb-M3.png
ccc-M3.png
作者: CrLf 时间: 2018-5-12 13:57
- for /d %%a in (*) do for %%b in ("%%a\*") do ren "%%b" "%%a-%%~nxb"
复制代码
作者: smilingming 时间: 2018-5-12 14:35
大神这独爱代码是 将 文件夹名称添加到 文件 头部, 我希望是尾部 怎么弄呢
作者: web 时间: 2018-5-13 09:07
本帖最后由 web 于 2018-5-13 09:08 编辑
- for /d %%a in (*) do for %%b in ("%%a\*") do set a=%%a &ren "%%b" "%%~nb@%a%%%~xb"
复制代码
多看一下for 命令
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
分开写一下
作者: tigerpower 时间: 2018-5-13 18:59
本帖最后由 tigerpower 于 2018-5-16 06:22 编辑
- powershell -c "ls -R -file|ren -new {'{0}@{1}{2}' -f $_.BaseName,$_.Directory.Name,$_.Extension}
复制代码
作者: smilingming 时间: 2018-5-13 22:54
老大还是有点问题, 能不能就执行一个批处理,在A文件夹下 有一个 添加文件名为子文件夹后缀的批处理.bat, 文件结构为
A 文件夹下
--添加文件名为子文件夹后缀的批处理.bat
--M1 (M1 文件夹下 包含 aaa.png)
--M2 (M1 文件夹下 包含 bbb.png)
--M3 (M1 文件夹下 包含 ccc.png)
这时候,点击改批处理文件(只需点击一次即可)
子文件夹下的图片进行重命名, 结构为 [文件名称][子文件夹名称][@符号][扩展名]
生成结果为:
--M1 (M1 文件夹下 aaa@M1.png)
--M2 (M1 文件夹下 包含 bbb@M2.png)
--M3 (M1 文件夹下 包含 ccc@M3.png)
作者: smilingming 时间: 2018-5-13 23:02 标题: 另起新帖-母文件夹下的子文件夹名添加到到子文件夹下的文件尾部中间用@符号隔开
本帖最后由 smilingming 于 2018-5-13 23:06 编辑
原帖
由于需求没表达清楚,另起新帖说明:
原帖为:http://www.bathome.net/viewthrea ... %26amp%3Btypeid%3D7
需求为:-在母文件夹下执行一次批处理,母文件夹下的子文件夹名重命名到子文件夹下的文件尾部中间用@符号隔开
A 文件夹下
--添加文件名为子文件夹后缀的批处理.bat
--M1文件夹 (M1 文件夹下 包含文件 aaa.png)
--M2文件夹 (M1 文件夹下 包含文件 bbb.png)
--M3文件夹 (M1 文件夹下 包含文件 ccc.png)
点击A文件夹下的批处理文件(只需点击一次即可)
子文件夹下的图片重命名, 结构为 [原文件名称][@符号][子文件夹名称][扩展名]
生成结果为:
--M1文件夹 (M1 文件夹下 新文件名为:aaa@M1.png)
--M2文件夹 (M2 文件夹下 新文件名为:bbb@M2.png)
--M3文件夹 (M3 文件夹下 新文件名为:ccc@M3.png)
作者: yhcfsr 时间: 2018-5-14 12:23
本帖最后由 yhcfsr 于 2018-5-14 12:24 编辑
回复 7# smilingming - for /d %%a in (*) do for /f "delims=" %%b in ('dir /a-d/b "%%a\*"') do ren "%%b" "%%~nb@%%~nxa%%~xb"
复制代码
作者: WHY 时间: 2018-5-14 15:19
回复 8# yhcfsr
dir 的话有一个相对路径问题
... ren "%%a\%%b" "%%~nb@%%~nxa%%~xb"
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |