作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想写一个 .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/
我是一名优秀的程序员,十分优秀!