
标题: [文本处理] 批处理怎样将文件夹下所有文件绝对路径赋值给文件名? [打印本页]
作者: huangmo 时间: 2021-8-15 17:36 标题: 批处理怎样将文件夹下所有文件绝对路径赋值给文件名?
例:D:/test/picture/home下有1个文件,名称是123.txt ,现在要将123.txt名改成D:/test/picture/home/123.txt
test目录下有很多子文件夹,里面有许多文件,将所有文件名改成其绝对路径值。
作者: idwma 时间: 2021-8-15 17:39
先自己手动改一个看能不能改,文件名里不能有:/这些符号
作者: huangmo 时间: 2021-8-15 17:46
回复 2# idwma
哦,好像不能,谢谢提醒!!
那能改成testpicturehome123.txt吗,我在网上找了一个将test下所有文件路径导入到txt文件中的bat, 自己尝试修改成我想要的,但是搞了好久还是没有成功~~
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /a/s/b/on *.*"') do (
set file=%%~fi
set file=!file:/=/!
echo !file! >> 路径.txt
)
作者: idwma 时间: 2021-8-15 18:06
- @echo off & setlocal EnableDelayedExpansion
-
- for /f "delims=" %%i in ('"dir /a-d/s/b/on *.*"') do (
-
- set "file=%%~fi"
-
- set "file=!file/=!"
-
- ren "%%~fi" "!file::=!"
-
- )
复制代码
作者: huangmo 时间: 2021-8-15 18:13
回复 4# idwma
谢谢!
我试了一下,好像不行。
不过你刚才的回答提醒了我,是不是先要将得到的路径值中的特殊字符如“/” “:”等先去除掉,然后再赋值给文件名?
作者: idwma 时间: 2021-8-15 18:18
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /a-d/s/b/on *.*"') do (
set "file=%%~fi"
set "file=!file:/=!"
ren "%%~fi" "!file::=!"
)
作者: huangmo 时间: 2021-8-15 18:29
回复 6# idwma
还是不行~~
作者: idwma 时间: 2021-8-15 18:35
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /a-d/s/b/on *.*"') do (
set "file=%%~fi"
set "file=!file:\=!"
ren "%%~fi" "!file::=!"
)
作者: huangmo 时间: 2021-8-15 18:37
回复 8# idwma
成功了!!
万分感谢大神!!爱你哦~
作者: qixiaobin0715 时间: 2021-8-16 10:28
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /a-d *.txt') do (
- set "str=%%~pnxa"
- ren "%%a" "!str:\=!"
- )
- pause
复制代码
回复 9# huangmo
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |