标题: [文本处理] [已解决]批处理如何在循环中使用延迟变量的扩展取到文件后缀? [打印本页]
作者: waitfortea 时间: 2022-9-27 18:26 标题: [已解决]批处理如何在循环中使用延迟变量的扩展取到文件后缀?
本帖最后由 waitfortea 于 2022-9-28 18:56 编辑
/我的资源/【2】python中级(必学)/【15】python实用编程技巧进阶(附赠:建议学习)/第10章【本套课程附带源代码】/.DS_Store
/我的资源/【2】python中级(必学)/【08】 JQuery/01-jquery的介绍.mp4
/我的资源/【2】python中级(必学)/【14】 正则表达式/01-property属性-装饰器方式的使用.mp4
/我的资源/【2】python中级(必学)/【13】mini-web框架/01-web框架介绍.mp4
/我的资源/【2】python中级(必学)/【03】多任务进程(1)/01-编辑器vim的介绍.mp4
/我的资源/【2】python中级(必学)/【08】 JQuery/02-jquery的使用.mp4
/我的资源/【2】python中级(必学)/【14】 正则表达式/02-property属性-类属性的方式使用.mp4
/我的资源/【2】python中级(必学)/【13】mini-web框架/02-web框架开发-获取处理结果.mp4
/我的资源/【2】python中级(必学)/【03】多任务进程(1)/02-编辑器vim的使用.mp4
/我的资源/【2】python中级(必学)/【08】 JQuery/03-jquery选择器.mp4
/我的资源/【2】python中级(必学)/【13】mini-web框架/03-web框架开发-拼接响应报文发送给浏览器.mp4
文本如上 设为cache_file.txt
bat命令如下- @echo off
- chcp 65001
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- cd. >"%~dp0a.txt"
- cd. >"%~dp0b.txt"
- for /f "delims=/, tokens=1,*" %%a in ( cache_file.txt ) do (
- echo %%b
- set "file=%%b"
- echo !~xfile!
- set "file=!file:/=\!"
- echo !file!
- echo %%~xb
- echo !~xfile!
- )
- pause
复制代码
无论我使用哪种路径符号都无法获取延迟变量作为文件的后缀名,不知道怎么解决
作者: hfxiang 时间: 2022-9-27 21:11
- for /f "tokens=* delims=" %%a in ( cache_file.txt ) do echo "%%~xa"
复制代码
作者: waitfortea 时间: 2022-9-27 21:15
回复 2# hfxiang
要求是使用赋值后的延迟变量,这里是!file!,即希望!~xfile!能输出结果的,但是并没有
作者: Echo11 时间: 2022-9-27 22:47
回复 3# waitfortea
嵌套CALL。
首先,建议复制代码
改成复制代码
,确保%file%值是没有引号的(习惯)。
不要 echo !~xfile!,先加一段代码,如:- :HouZhui
- echo %~x1
- goto:eof
复制代码
,然后用复制代码
来打印
作者: waitfortea 时间: 2022-9-28 01:46
回复 4# Echo11
所以延迟变量!file!就是无法扩展的吗
作者: Echo11 时间: 2022-9-28 08:32
本帖最后由 Echo11 于 2022-9-28 09:11 编辑
回复 5# waitfortea
%file%也应该不能扩展的吧。
我认为不能。
%%a或%1这种类型才能扩展吧。
(怕错,求大佬来证实或否定一下我的观点。)
@Batcher
作者: Batcher 时间: 2022-9-28 09:47
回复 5# waitfortea
不能。你已经亲自通过实验证明了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |