batch-file - DOS BAT 文件相当于 Unix basename 命令?

标签 batch-file dos

有没有一种简单的方法可以使用 DOS BAT 命令语言获取 DOS 文件名的基本名称(不带扩展名的文件名)?

我同意:format c:\ 可能是一个好的开始,然后是可引导的 Linux CD(假设这些古董机器有 CD 阅读器 - 不是给定的)。但让我们假设我们只有 DOS...(这意味着:没有 Windows - 甚至没有 Windows 3.1,更不用说 Windows 95、98、NT、ME、XP、Vista、7 等)

最佳答案

对于命令行

for /F %i in ("c:\foo\bar.txt") do @echo %~ni

对于 .bat 文件

for /F %%i in ("c:\foo\bar.txt") do @echo %%~ni

输出:

如果路径包含空格,请添加"delims=",如下所示:

for /F "delims=" %i in ("c:\foo\bar baz.txt") do @echo %~ni

输出:bar baz

(进一步阅读: http://www.computerhope.com/forhlp.htm )

关于batch-file - DOS BAT 文件相当于 Unix basename 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432851/

相关文章:

batch-file - 尝试在批处理脚本中打印子字符串时出现未知问题

windows - 为什么这个 Windows 批处理脚本找不到程序 net.exe?

windows - windows cmd中 "set"的作用

mysql - 如何在 DOS 提示符下使用 Sql

c - C语言中的定时器中断

windows - 批处理脚本多选

batch-file - IF语句使用延迟扩展?

batch-file - DOS批处理重命名和旋转文件夹名称

windows - 添加右键单击上下文菜单以调用 RAR 命令,管道到剪贴板?

command-line-arguments - Findstr -- 排除文件类型 -- 仅搜索 ascii