Ich werde 1.mp3 löschen, aber es gibt mir die Fehlermeldung "Zugriff verweigert".
Weitere Informationen über die Dauerwellen von Dateien:
attrib 1.mp3
A C:\Users\Alipour\Desktop\1\1.mp3
Ich habe auch attrib -s -h 1.mp3
benutzt
es kann aber trotzdem nicht von gelöscht werden
del /f/s/q 1.mp3 > NUL
oder
del /f/s/q 1.mp3
oder
del /f 1.mp3
Es gibt verschiedene Methoden, um eine solche Datei zu entfernen:
1. Explorer verarbeiten, wenn die Datei verwendet wird:
Sie können ProcessExplorer von Windows Sysinternals verwenden, um festzustellen, welches Programm die Datei sperrt. Laden Sie den ProcessExplorer herunter und starten Sie ihn. Gehen Sie zu Find|Find Handle or DLL... Ctrl+F
und geben Sie den Namen der gesperrten Datei ein: 1.mp3
.
ProcessExplorer zeigt Ihnen den Prozess an, der für die Sperre verantwortlich ist, weil er auf die Datei zugreift. Wenn Sie den Prozess haben, töten Sie diesen und löschen Sie die Datei.
Beispiel mit MS Word, das auf eine Datei namens LockedFile.docx zugreift:
2. Start im abgesicherten Modus:
Eine andere Möglichkeit besteht darin, in den abgesicherten Modus zu booten. In der Zeit vor Windows 8 wurde dies durch Drücken von ausgeführt F8 bevor Windows startet.
Ab Windows 8 können Sie drücken Shift+F8 bevor Windows bootet oder einfacher kann man es halten Shift und klicken Sie im Anmeldebildschirm oder sogar in Windows auf Neu starten. Wenn dies zu kurz war, schauen Sie hier wie Sie in den abgesicherten Modus gelangen.
Sobald Sie im abgesicherten Modus sind, können Sie erneut versuchen, diese Datei zu löschen.
3. Datei beim Windows-Start über PendingFileRenameOperations entfernen:
Mit PendingFileRenameOperations können Sie eine Datei beim Windows-Startvorgang umbenennen und sogar löschen, wenn nichts anderes auf diese Datei zugreifen und sie blockieren kann. PendingFileRenameOperations wird in die Windows-Registrierung eingetragen und besteht aus zwei Dateipfadenpaaren.
Sie können dies manuell wie unten beschrieben oder erneut mit einem Windows Sysinternals-Programm namens MoveFile tun. Laden Sie das Programm herunter und verwenden Sie es in einem Konsolenfenster (Start -> Ausführen oder Windows-Key+RGeben Sie cmd
ein und drücken Sie ENTER).
Geben Sie movefile foo.exe ""
ein, um eine Datei beim Neustart zu löschen.
Manuelle Methode über Registrierung:
Der 1. Pfad ist die Datei, die umbenannt werden soll.
Der 2. Pfad ist der neue Dateipfad. Wenn der 2. Pfad leer ist (0x0000), wird die Datei entfernt.
regedit
ein und drücken Sie ENTERHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
PendingFileRenameOperations
\??\filepath
ein (z. B. \??\C:\Users\xyz\Desktop\foo.exe
).0000
hinzu (4 Nullen, die eine leere Zeichenfolge darstellen)Lean and Mean Batch-Datei nur Alternativen für PendingFileRenameOperations :
~ Skripte fügen einen Eintrag zum Rechtsklick-Menü "SendTo" hinzu
~ Akzeptieren eines einzelnen Parameters, entweder Datei oder Ordner
~ Bestätigungsaufforderung ([Abbrechen], um vorherige Einträge zu löschen)
~ Grundlegende Idiotensicherheit (zB% Windir% nicht verarbeiten)
goto="Batch" /* Rename_On_Boot by AveYo v1
:RenOnBoot
set "input=%*" & call set "input=%%input:?=%%" &rem line below adds entry to right-click -- "SendTo" menu
if /i "_%~dp0"=="_%APPDATA%\Microsoft\Windows\SendTo\" (set .=) else copy /y "%~f0" "%APPDATA%\Microsoft\Windows\SendTo\" >nul 2>nul
if "_%1"=="_" color 4f & echo ERROR! No input provided & ping -n 6 localhost >nul & exit /b
for %%# in ("C:\" "C:\Boot" "C:\Recovery" "%WINDIR%" "%WINDIR%\system32" "%ProgramData%" "%ProgramFiles%" "%USERPROFILE%") do (
if /i "_%input%"=="_%%~#" color 4f & echo ERROR! %%# is not safe to delete & ping -n 6 localhost >nul & exit /b
)
color 0B & echo Please wait, folders might take a while .. & call cscript /nologo /e:JScript "%~f0" RenOnBoot "%input%" & exit /b
:RenOnBoot_Run_As_Admin
color 4f & echo Asking permission to run as Admin.. & call cscript /nologo /e:JScript "%~f0" RunAsAdmin "%~f1???" & exit /b
:"Batch"
@echo off & setlocal disabledelayedexpansion & mode 96,4 & echo. & title %~nx0 by AveYo & if not exist "%~f1" goto :RenOnBoot
reg query HKEY_USERS\S-1-5-20\Environment /v temp 1>nul 2>nul && goto :RenOnBoot || goto :RenOnBoot_Run_As_Admin
:"JScript" */
function RenOnBoot(f){
var HKLM=0x80000002, k='SYSTEM\\CurrentControlSet\\Control\\Session Manager', v='PendingFileRenameOperations';
var reg=GetObject('winmgmts:{impersonationLevel=impersonate}!//./root/default:StdRegProv'), ws=WSH.CreateObject('WScript.Shell');
var confirmation=ws.Popup(" Rename on next boot? [OK]\n Clear previous entries? [Cancel]\n\n "+f,0,'Rename_On_Boot by AveYo',33);
if (confirmation == 2) { reg.DeleteValue(HKLM, k, v); WSH.quit(); } // Clear existing entries on Cancel press and quit script
var mtd=reg.Methods_('GetMultiStringValue').InParameters.SpawnInstance_(); mtd.hDefKey=HKLM; mtd.sSubKeyName=k; mtd.sValueName=v;
var query=reg.ExecMethod_('GetMultiStringValue', mtd), regvalue=(!query.ReturnValue) ? query.SValue.toArray():[,], entries=[];
var fso=new ActiveXObject('Scripting.FileSystemObject'), fn=fso.GetAbsolutePathName(f);
entries.Push('\\??\\'+fn,'\\??\\'+fn+'.ren');
reg.CreateKey(HKLM, k); reg.SetMultiStringValue(HKLM, k, v, entries.concat(regvalue));
}
if (WSH.Arguments.length>=2 && WSH.Arguments(0)=='RenOnBoot') RenOnBoot(WSH.Arguments(1));
function RunAsAdmin(self, arguments) { WSH.CreateObject('Shell.Application').ShellExecute(self, arguments, '', 'runas', 1) }
if (WSH.Arguments.length>=1 && WSH.Arguments(0)=='RunAsAdmin') RunAsAdmin(WSH.ScriptFullName, WSH.Arguments(1));
//
goto="Batch" /* Delete_On_Boot by AveYo v1
:DelOnBoot
set "input=%*" & call set "input=%%input:?=%%" &rem line below adds entry to right-click -- "SendTo" menu
if /i "_%~dp0"=="_%APPDATA%\Microsoft\Windows\SendTo\" (set .=) else copy /y "%~f0" "%APPDATA%\Microsoft\Windows\SendTo\" >nul 2>nul
if "_%1"=="_" color 4f & echo ERROR! No input provided & ping -n 6 localhost >nul & exit /b
for %%# in ("C:\" "C:\Boot" "C:\Recovery" "%WINDIR%" "%WINDIR%\system32" "%ProgramData%" "%ProgramFiles%" "%USERPROFILE%") do (
if /i "_%input%"=="_%%~#" color 4f & echo ERROR! %%# is not safe to delete & ping -n 6 localhost >nul & exit /b
)
color 0B & echo Please wait, folders might take a while .. & call cscript /nologo /e:JScript "%~f0" DelOnBoot "%input%" & exit /b
:DelOnBoot_Run_As_Admin
color 4f & echo Asking permission to run as Admin.. & call cscript /nologo /e:JScript "%~f0" RunAsAdmin "%~f1???" & exit /b
:"Batch"
@echo off & setlocal disabledelayedexpansion & mode 96,4 & echo. & title %~nx0 by AveYo & if not exist "%~f1" goto :DelOnBoot
reg query HKEY_USERS\S-1-5-20\Environment /v temp 1>nul 2>nul && goto :DelOnBoot || goto :DelOnBoot_Run_As_Admin
:"JScript" */
function DelOnBoot(f){
ListDir=function(src, _root,_list) {
_root=_root || src, _list=_list || [];
var root=fso.GetFolder(src), files=new Enumerator(root.Files), dirs=new Enumerator(root.SubFolders);
while (!files.atEnd()) { _list.Push(files.item()); files.moveNext(); }
while (!dirs.atEnd()) { _list=ListDir(dirs.item().path, _root,_list); _list.Push(dirs.item()); dirs.moveNext(); }
return _list;
};
var HKLM=0x80000002, k='SYSTEM\\CurrentControlSet\\Control\\Session Manager', v='PendingFileRenameOperations';
var reg=GetObject('winmgmts:{impersonationLevel=impersonate}!//./root/default:StdRegProv'), ws=WSH.CreateObject('WScript.Shell');
var confirmation=ws.Popup(" Delete on next boot? [OK]\n Clear previous entries? [Cancel]\n\n "+f,0,'Delete_On_Boot by AveYo',33);
if (confirmation == 2) { reg.DeleteValue(HKLM, k, v); WSH.quit(); } // Clear existing entries on Cancel press and quit script
var mtd=reg.Methods_('GetMultiStringValue').InParameters.SpawnInstance_(); mtd.hDefKey=HKLM; mtd.sSubKeyName=k; mtd.sValueName=v;
var query=reg.ExecMethod_('GetMultiStringValue', mtd), regvalue=(!query.ReturnValue) ? query.SValue.toArray():[,], entries=[];
var fso=new ActiveXObject('Scripting.FileSystemObject'), fn=fso.GetAbsolutePathName(f);
if (fso.FolderExists(fn)) { var list=ListDir(fn); for (var i in list) entries.Push('\\??\\'+list[i],''); }
entries.Push('\\??\\'+fn,'');
reg.CreateKey(HKLM, k); reg.SetMultiStringValue(HKLM, k, v, entries.concat(regvalue));
}
if (WSH.Arguments.length>=2 && WSH.Arguments(0)=='DelOnBoot') DelOnBoot(WSH.Arguments(1));
function RunAsAdmin(self, arguments) { WSH.CreateObject('Shell.Application').ShellExecute(self, arguments, '', 'runas', 1) }
if (WSH.Arguments.length>=1 && WSH.Arguments(0)=='RunAsAdmin') RunAsAdmin(WSH.ScriptFullName, WSH.Arguments(1));
//