我正在创建一个批处理文件,以便从文本文件的列表中创建多个目录 但是在列出目录之后,有时也会有文件名。是否有一种简单的方法可以忽略最后一行后的所有数据?
答案 0 :(得分:4)
我可能会建议DOS批处理不是这项工作的正确工具,因为它没有内置的字符串操作功能,如此需要。
如果你有Perl可用,你可以这样做:
#!/usr/bin/perl -w
while (<>) {
s/\\[^\\]*$//; # this removes a the last backslash and anything after it
mkdir $_;
}
答案 1 :(得分:4)
您可以使用以下内容:
@echo off
set filename="c:\temp\my files\file.txt"
for /f "tokens=*" %i in ("%filename%") do set filename="%~dpi"
echo %filename%
结果为"c:\temp\my files\"
。