批量删除:访问被拒绝


10

del在批处理文件中遇到命令问题。当进入删除步骤时,我收到消息“访问被拒绝”。我的批处理命令看起来像这样。

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

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

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

在此处输入图片说明

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

我尝试以管理员身份运行,但仍然是同样的问题。

Answers:


7

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

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

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

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


不幸的是,这不能解决问题,但是我将更新我的问题以包括您的建议。
2011年

尝试pausedel命令前放置命令,然后在暂停时尝试通过Windows资源管理器将其删除。
SaintWacko 2011年

我找到了解决方案,但是,如果您希望编辑答案以包含除我的解决方案之外的一些建议,我很乐意将其标记为答案
2011年

好的,这些信息具有追溯力吗?:)
SaintWacko 2011年

我确定几个月以后忘了这个问题时,它会有所帮助:)
2011年

2

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

最终脚本是

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

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

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

简单的解决方案,但一个误导性的错误消息。希望这可以帮助其他人。


如果您只能阅读它,则拒绝访问的声音对我来说是正确的。
surfasb 2011年

1

适用于Windows 8.1 PC的计算机:

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

Ctrl+ Alt+ Del打开任务管理器,转到进程,找到Windows资源管理器,单击鼠标右键,然后结束任务。不用担心开始栏是否消失了。使用Alt+ Tab在文件之间遍历。然后在“ 任务管理器”中单击“ 文件运行新任务”,然后键入cmd。这将打开一个命令行

里面的终端

如果您的版本是32位,并且就我而言,它位于Program Files(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的其他人有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.