【发布时间】:2020-03-30 23:14:22
【问题描述】:
这个小代码将文件夹移动到子文件夹中(顺便说一句,我在 stackowerflow 上找到了这个。谢谢:))。我添加了一些其他功能,除了一部分之外,它工作得很好。请参见下面的代码,有问题的部分是这里的最后一部分。
我想在文件夹中搜索 .txt 文件并将它们向上移动到父目录下(这部分正在工作)。但不幸的是,这些文件丢失了它们的扩展名,并且它们的名称更改为父目录的名称。您可以在附加的图像上看到它(我复制的文件没有移动到那里):
@echo on
setlocal EnableDelayedExpansion
set "ROOT_FOLDER=C:\Users\xy\Desktop\folder"
:: For each folder in root folder
cd "%ROOT_FOLDER%"
for /D %%a in (*) do (
cd "%%a"
:: Move all existent folders into "XY" folder
for /F "delims=" %%b in ('dir /B /A:D') do (
md XY 2> NUL
move "%%b" "XY\%%b"
)
:: Move all existent files into "XY" folder
md XY 2> NUL
move *.* XY
:: Move txt files under parent folder
for /R "XY" %%m in (*.txt) do move "\\?\%%m" "%%a"
cd ..
)
pause
你能帮我解决这里的问题吗?
【问题讨论】:
标签: windows for-loop batch-file cmd move