问题
是否有人知道如何从命令行或批处理文件移动具有隐藏、系统或只读属性设置的文件和文件夹?(不,首先剥离属性不是一个选择,因为没有实际的方法可以知道设置了哪些属性以便在移动后重新设置它们。)
(失败)尝试
我尝试使用我编写的使用 shell 的文件操作功能的实用程序,但这需要使用
start /w
来防止批处理文件提前运行,并且由于某种原因它会抱怨长文件名支持。我尝试使用
robocopy
,但它首先副本然后删除原始文件,而不是简单地移动源(这会导致令人沮丧的延迟,即使过多的输出重定向到nul
)。
答案1
我刚刚使用以下方法完成了此操作:
xcopy /H hidden_file destination_file
del /AH hidden_file
答案2
我已经能够使用 MV.EXE 成功移动只读、隐藏文件GNU for Win32 实用程序。 目标文件保留只读、隐藏属性。
您必须下载整个软件包:
http://gnuwin32.sourceforge.net/downlinks/coreutils-bin-zip.php
答案3
Powershell v2:
move-item -force '--1.txt' newdirectory
还移动设置了隐藏和系统属性的隐藏文件。将处理以“--”开头的文件。
答案4
我们已经有了 PowerShell 和mv
命令。因此,为了完整起见,下面介绍如何使用JP Software 的 TCC/LE,其move
和ren
命令都有一个/a:
选项,该选项在其许多扫描目录以查找要操作的文件的命令中都很常见:
[C:\Users\JdeBP]touch /c --wibble-- 2014 年 11 月 3 日 20:29:18.868 C:\Users\JdeBP\--wibble-- [C:\Users\JdeBP]attrib +h +s .\--wibble-- ___A___________ -> _HSA___________ C:\Users\JdeBP\--wibble-- [C:\Users\JdeBP]移动/a:hs --wibble-- --wobble-- C:\Users\JdeBP\--wibble-- -> C:\Users\JdeBP\--wobble-- 移动了 1 个文件 [C:\Users\JdeBP]ren /a:hs --wobble-- --wurble-- C:\Users\JdeBP\--wobble-- -> C:\Users\JdeBP\--wurble-- 1 个文件已重命名 C:\Users\JdeBP]dir /a:hs /t /m /k --wurble-- 2014 年 11 月 3 日 20:29 0 _HSA____________ --wurble-- [C:\用户\JdeBP]