forfiles.exe不适用于c:\ users \ internet \ downloads或文档


0

我在cmd中运行脚本时找不到c:\ users \ internet \ downloads \ new.txt

是因为Windows7的用户帐户上有一个锁定图标,如果我将位置更改为c:\ test文件夹,则脚本可以正常工作

forfiles.exe / P “C:\用户\互联网”/ S / M / D -7 / C“ cmd.exe / c del / Q”“ @path”“

我需要做的是每7天删除我的文档和下载文件夹中剩余的文件,该文件是每个工作人员使用的通用库帐户,它是Windows 7来宾帐户。


您是否尝试以管理员身份运行cmd?
NoLifeKing

然后忘记forfile,然后在路径上尝试del命令。而且我想您也可以使用echo命令来检查您使用的forfile文件,例如cld / c echo del / q“” @path“”...。然后尝试使用forfile文件之外的各个命令。您在此处尚未完成基本的故障排除,可能与forfiles无关。
barlop

您真的使用过C:\users\Internet吗?您应该使用到指定目录的真实路径。还是C:\Users\Internet您的计算机上有?
瑞克(Rik)

用户已登录到本地来宾帐户,这是正确的,因此c:\ users \ internet \ downloads和c:\ users \ internet \ documents,我很乐意忘记forfile,而尝试使用常规的批处理文件,希望将其删除文件7天。
hirogen

只是,我从未见过C:\Users\Internet访客帐户。(始终C:\Users\Guest\Downloads)。您在来宾帐户中还是在您自己的帐户中运行此帐户。另外,我不得不使用/M *.*而不是/M .查找文件。
瑞克

Answers:


0

好。因此,它不是Guest-account而是- Local account

首先,我注意到了有关您的脚本的一些小事情。

  • 如果您要删除整个配置文件中所有超过7天的内容(例如您的脚本正在执行的操作),则会遇到麻烦。您还将删除appdata,“程序设置”等中的许多文件。您不希望这样做,因为这些程序可能变得无法使用。默认值为,您看不到那些文件/目录,但如果使用命令提示符,它们就在其中。(尝试设置资源管理器以显示隐藏的文件或C:\Users\Internet\appdata在地址栏中输入)
  • 我仍然一无所获/M .。我需要/M *.*完全使用或忽略它。(默认为/M *
  • 如果您以自己的身份(而不是“互联网”)运行它,则没有足够的权限删除它们。(因此文件中具有锁定图标)您需要先拥有文件的所有权,然后才能删除它们。您可以尝试以管理员身份运行脚本,但不确定是否有帮助。

有几种方法可以解决此问题。下面,我提到了另一种有关重置整个帐户的方法。但是,这里有一个脚本可以删除7天以上的文件。

它将当前目录更改为C:\Users\Internet(将其popd更改回)。然后,它循环遍历您要从中删除文件的给定目录集。您会看到我没有指定整个目录, appdata但包含了AppData\Local\TempTemporary Internet Files。如果您愿意,可以添加自己的。(为您)将拥有对所有指定文件和目录的所有权。然后它将Everyone为这些文件提供权限(因此不会中断其程序)。之后,只有7天以上的文件将被删除。您需要指定del /a包括删除隐藏文件。

(我在批处理文件的顶部添加了一些检查,以确保您位于正确的目录中。您确实不想偶然在另一个目录中执行此操作。)

@echo off
PUSHD C:\Users\Internet
IF /I "%cd%"=="C:\Users\Internet" GOTO OK
ECHO Oops, CD didn't work. You really don't want to do this in another directory !!!
POPD
EXIT/b
:OK
SET "dirs=AppData\Local\Temp:Contacts:Desktop;Documents:Downloads:Favorites:Links:Music:Pictures:Videos:AppData\Local\Microsoft\Windows\Temporary Internet Files"
FOR %%d IN ("%dirs::=" "%") DO (
  TAKEOWN /R /D Y /F %%d
  ICACLS %%d /T /GRANT Everyone:F
  FORFILES /P %%d /S /D -7 /C "cmd /c del /q /a "@path""
)
POPD

这不会删除“程序设置”,但还会保留其他临时目录(AppData \ Local \ Temp除外)。因此,如果您还有其他目录,则可以将其包括在set-line中。

另一种方法是重置整个用户帐户。你可以做

net user internet /delete
net user internet /add
rd c:\users\internet /s/q

您需要以管理员身份执行此操作。但是这样用户所做的所有设置都会丢失。不仅年龄超过7天。它将清除所有内容。不确定是否需要。但是,它是“最干净的”。如果是公用计算机,则可以每隔一天(或每天)执行一次。您也可以备份配置文件并还原它,但这也会删除较新的文件并将帐户重置为特定的时间/状态。

是什么原因只能删除7天以上的文件?如果您真的想获取小于7天的文件,则需要第一个脚本。

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.