gpt4 book ai didi

windows - 如何通过文件夹循环移动文件夹(批量)?

转载 作者:可可西里 更新时间:2023-11-01 14:17:54 32 4
gpt4 key购买 nike

情况:

我尝试在 shell 中的循环内移动文件,但我的代码无法正常工作。

for /D %%F in (*) do (
if "%%F" NEQ "%directoryToPutFilesIn%" (
move /y "%%F" "%directoryToPutFilesIn%"
)
)

经过几个小时的测试,我意识到这是因为 %%F 指向文件夹,因此无法移动文件。

糟糕的解决方案:

我让它工作并证实我的怀疑的方法是将 %%F 的值保存在另一个变量中,并在下一轮使用该变量移动文件。请注意,以下内容需要在第一轮初始化 %precedentFile%

for /D %%F in (*) do (
move /y "%precedentFile%" "%directoryToPutFilesIn%"
if "%%F" NEQ "%directoryToPutFilesIn%" (
move /y "%%F" "%directoryToPutFilesIn%"
set precedentFile=%%F
)

问题:

这个方案不实用,感觉不对。有没有一种方法可以调整我当前的代码来执行此操作,或者只是另一种方法?

最佳答案

尝试使用以下代码在批处理脚本中将文件从一个文件夹移动到另一个文件夹:

for /f %%a in ('dir /a:-D /b') do move /Y "%%~fa" "%directoryToPutFilesIn%"

解释:

dir /a:-D /b : This command will list all files in the directory 
move /Y "%%~fa" "%directoryToPutFilesIn%" : This will move all files in the directory where this command is executed to the destination you have mentioned.
%%~fa : This command will get full qualified path of the file with it's name.

尝试下面的代码移动目录:下面的命令会将执行此命令的路径中的目录移动到提供的目标。在这将是 H:\驱动器,相应地更改它

for /D %%b in (*) do move /Y "%%~fb" "H:\"

关于windows - 如何通过文件夹循环移动文件夹(批量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548438/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com