仅将文件夹名称保存在具有完整目录的 .txt 文件中(批处理)

Only conserve the name of the folder in a .txt file with a complete directory (Batch)

(我还没有用这些东西做一个批次)

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

C:\Users\Robert\Desktop\myworld2

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

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

必须使用所有目录。

用 Google 翻译。

我试过这个:

@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 循环提取名称。请注意,如果文件夹名称包含点 ("."),这将失败。