gpt4 book ai didi

Windows .BAT 将所有匹配掩码的目录从目录 A 移动到目录 B

转载 作者:可可西里 更新时间:2023-11-01 09:44:00 25 4
gpt4 key购买 nike

我想写一个 .BAT 文件来将 C:\WINNT\Temp 的所有子目录(名称匹配掩码)移动到 H:\SOMEOTHERPLACE。

所以如果我的掩码是 ABC* 那么目录:

C:\WINNT\Temp\ABC1
C:\WINNT\Temp\ABC2
C:\WINNT\Temp\ABC3

应该移动到

H:\SOMEOTHERPLACE 

和其他一切(包括文件,而不是目录,匹配掩码)不应该。我确实想移动它们而不是复制它们。

谁能指出我正确的方向?

最佳答案

好的,我已经弄明白了。如果您编写包含单行的 movedirs.bat 文件

for /d %%X in (%1) do move %%X %2\%%~nX 

然后运行它(参数 1 是我要移动的目录的掩码,参数 2 是我希望将目录移动到的目录)作为

C:\>movedirs.bat C:\WINNT\Temp\ABC* H:\SOMEOTHERPLACE\

它产生了我想要的效果。

'for' 上的/d 参数确保只处理目录。 %%X 变量上的 '~n' 修饰符表示原始子目录名称(而不是整个路径)用作第二个命令行参数中的目标。

只是为了后代对此进行调查,我对 xcopy 做了类似的事情,但随后我将不得不参与删除源代码,因此为了我的目的,移动效果更好,但为了记录,这里有相同的想法围绕 xcopy。

for /d %%X in (%1) do xcopy %%X %2\%%~nX /E /I

要处理带扩展名和不带扩展名的目录,例如“C:\MyDir*.MyExt”,上面的命令将需要一个组合的(文件名+扩展名)修饰符“~nx”:

for /d %%W in (%1) do xcopy %%W %2\%%~nxW /E /F /R /Y /I

关于Windows .BAT 将所有匹配掩码的目录从目录 A 移动到目录 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501151/

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