仅将文件夹名称保存在具有完整目录的 .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
循环提取名称。请注意,如果文件夹名称包含点 ("."),这将失败。
(我还没有用这些东西做一个批次)
我有一个名为 "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
循环提取名称。请注意,如果文件夹名称包含点 ("."),这将失败。