(我已经和这个东西一起分批了)
我有一个名为"worldcopy2.txt"
的文件,里面有一个完整的目录:
C:\Users\Robert\Desktop\myworld2
我想创建一个批处理文件来将.txt
的内部更改为仅包含当前目录的最后一个文件夹的名称。例如:
如果.txt
文件显示为C:\Users\Robert\Desktop\funinside
,则批处理必须将.txt
更改为仅在funinside
内。
必须使用所有目录。
使用Google翻译进行翻译。
答案 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包含一个点(“。”),则会失败。