【发布时间】:2015-07-21 19:54:41
【问题描述】:
情况:
我尝试在 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
)
问题:
这个方案不实用,感觉有问题。有没有办法调整我当前的代码来做到这一点,或者只是另一种方式?
【问题讨论】:
-
您是要移动文件夹,还是
.txt文件等? -
我有 2 个循环,我展示的是文件夹。我还有一个几乎相同的文件。两者都不起作用。
-
试试下面的代码来移动文件和文件夹,希望对你有帮助:) :)
标签: windows batch-file command-line