批量删除:访问被拒绝

批量删除:访问被拒绝

我在批处理文件中的命令方面遇到了问题del。当执行到删除步骤时,我收到消息“访问被拒绝”。我的批处理命令如下所示。

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del *.dtsConfig
ren *.dev .
popd

在此处输入图片描述

我可以浏览目录并删除文件,没有任何问题Windows资源管理器

我尝试以管理员身份运行,但问题仍然存在。

答案1

强制del命令删除只读文件,添加标志/F

显然,只读文件通常不能通过批处理文件删除,但仍可以通过以下方式删除Windows资源管理器。要检查文件是否为只读,您可以右键单击文件并选择属性,或输入attrib <filename>在命令提示符下。这将显示一系列对应于不同文件属性的字母。

R = Read-only file
A = Archive file
S = System file
H = Hidden file

您可以通过取消选中属性窗口中的框或运行命令来删除只读标签attrib <filename> -R

答案2

在尝试了“del”命令的可用选项后,我发现我试图删除的文件是只读的。要解决这个问题,我可以编辑文件以删除只读属性,或者指定 /F 选项。

最终脚本是

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del /F *.dtsConfig
ren *.dev .
popd

解决方案很简单,但错误消息具有误导性。希望这对其他人有所帮助。

答案3

适用于我的 Windows 8.1 PC 的操作:

首先通过以下方式关闭 Windows 资源管理器:

Ctrl+ Alt+Del打开任务管理器,转到流程,查找Windows资源管理器,右键单击,然后结束任务。如果开始栏不见了或者出现其他问题,请不要担心。使用Alt+Tab可在文件之间移动。然后在任务管理器点击文件运行新任务,然后输入cmd。这将打开命令行

在 - 的里面终端

如果你的版本是 32 位的,那么它位于程序文件 (x86),因此您应该输入:

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll

这是为了取消注册。

您可以使用 在目录之间移动cd directoryname,也可以通过 返回一个目录cd ..。要查看目录中的内容,您可以dir在该目录中输入。要删除文件,请输入:

del /F filename

之后再次打开任务管理器, 去文件,然后运行explorer。这样你就可以得到正常的显示。转到Git我们想要摆脱的文件夹,简单地删除它。

我希望这对其他使用 Windows 8.1 的人也有效。

答案4

遇到了这个问题,结果 Avast 拒绝了我的批处理文件。我所要做的就是将 .bat 文件添加到 Avast 的例外列表中。

相关内容