我目前正在寻找一种批量获取变量并仅解析文件名的方法。
例如,我将来自另一个应用程序的 -s 参数传递给我的批处理文件,该参数随后被设置为我的源变量。源文件变量通常包含如下内容:C:\Program Files\myapp\Instance.1\Data\filetomove.ext。
我假设从变量的末尾读取直到第一个“\”并将结果设置为新的变量文件名,但我无法成功使用“for/f”命令。
任何帮助将非常感激!
更新:只有标准 XP 或 Windows 2000/2003 可用...(不能假设已安装资源包)。
最佳答案
如果它作为脚本的参数出现,即 %1、%2 等,您可以将文件名和扩展名提取到这样的变量中:
set FILENAME=%~nxN
其中 N 是参数的索引。例如,此脚本将只回显第一个参数的文件名:
@echo off
set FILENAME=%~nx1
echo %FILENAME%
关于batch-file - 在批处理 : Read only the filename from a variable with path and filename,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454670/