仅保留带有完整目录的.txt文件中文件夹的名称(批处理)

时间:2015-05-03 19:04:15

标签: windows batch-file directory rename

(我已经和这个东西一起分批了)

我有一个名为"worldcopy2.txt"的文件,里面有一个完整的目录:

C:\Users\Robert\Desktop\myworld2

我想创建一个批处理文件来将.txt的内部更改为仅包含当前目录的最后一个文件夹的名称。例如:

如果.txt文件显示为C:\Users\Robert\Desktop\funinside,则批处理必须将.txt更改为仅在funinside内。

必须使用所有目录。

使用Google翻译进行翻译。

1 个答案:

答案 0 :(得分:1)

我试过这个:

@echo off
setlocal
REM read a full path from file
type worldcopy2.txt
for /f %%F in (worldcopy2.txt) do set x=%%F
REM extract last path component and write it back to file
for %%P in ("%x%") do echo %%~nP> worldcopy2.txt

type worldcopy2.txt

测试后丢弃type worldcopy2.txt语句。这背后的想法是将路径视为完全限定的文件名,并让for循环提取名称。请注意,如果foldername包含一个点(“。”),则会失败。