Plik wsadowy do usuwania plików pobranych z txt

Jak w temacie mam plik z ok 500 nazwami plików do usunięcia czy ktoś może mi powiedzieć jak napisać batch'a który by pobierał nazwy plików z txt i je usuwał.

Odpowiedzi: 9

poszło, wielkie dzięki :)
radek173
Dodano
19.06.2011 01:11:04
Do notatnika [code]Set objFSO = CreateObject("Scripting.FileSystemObject") Const ForRead = 1 PLikZLista = "c:\123.txt" 'pelna ściezka do pliku z lista plików do usunięcia Dir = "c:\windows\fonts\" 'lokalizacja folderu z ktorego beda pliki usuwane Set objFile = objFSO.OpenTextFile (PlikZLista, ForRead) Do Until objFile.AtEndOfStream PlikDoUsuniecia = Dir & objFile.Readline 'tu na pocatku dodawana jest nazwa folderu If PlikDoUsuniecia <> Dir Then 'tu sprawdzam czy linia odczytana z pliku nie jest pusta if objFSO.FileExists(PlikDoUsuniecia) Then 'tu sprawdzam czy plik istnieje objFSO.DeleteFile(PlikDoUsuniecia) 'a tu go usuwam End If End If Loop WScript.Echo "Koniec" objFile.Close[/code] Zmodyfikuj zmienne PlikZLista i Dir pod siebie Dir jest dodawany po przeczytaniu linijki z pliku - gdy plik zawiera w pełne ścieżki dostępu do plików do usunięcia nie ma potrzeby dodawania tego i wówczas linijki 9 i 10 wygladalyby tak [code]PlikDoUsuniecia = objFile.Readline 'tu na pocatku dodawana jest nazwa folderu If PlikDoUsuniecia <> "" Then 'tu sprawdzam czy linia odczytana z pliku nie jest pusta[/code] Zapisz sobie zmodyikowany plik jako plik z rozszerzeniem vbs i uruchom dwuklikiem. Skrypt nie liczy ilości skasowanych plikow.
Żółty
Dodano
19.06.2011 01:05:21
To w takim razie rozbudujmy trochę skrypt. [code]$fileNames = Get-Content $args[0] $dir = "C:\Windows\Fonts" foreach ($fileName in $fileNames) { Remove-Item "$dir\$fileName" }[/code] Teraz powinien zadziałać także z innego folderu. W razie potrzeby (np. gdybyś miał system na dysku innym, niż C) zmień ścieżkę w drugiej linii skryptu.
BlaSOFT
Dodano
19.06.2011 01:00:43
niestety system nie pozwala mi wsadzić do font'a nic co nie jest czcionką
radek173
Dodano
18.06.2011 22:40:34
Oto skrypt PowerShella: [code]$fileNames = Get-Content $args[0] foreach ($fileName in $fileNames) { Remove-Item $fileName }[/code] Jeżeli używasz Windowsa XP albo Vistę bez wszystkich aktualizacji, być może będziesz musiał najpierw doinstalować PowerShella. Można go ściągnąć bezpłatnie ze stron Microsoftu. Żeby w PowerShellu móc uruchamiać skrypty, musisz odpalić go z prawami administratora i wydać polecenie np. [code]Set-ExecutionPolicy RemoteSigned[/code] Wystarczy to zrobić jednokrotnie. Jeżeli w systemie masz już PowerShella, robisz tak: 1. Zapisujesz powyższy skrypt w pliku np. Remove-Files.ps1 w folderze z fontami 2. Uruchamiasz cmd.exe i w konsoli przechodzisz do folderu z fontami 3. Wydajesz polecenie [code]powershell .\Remove-Files.ps1 pliki.txt[/code] [i]pliki.txt[/i] to oczywiście nazwa pliku z nazwami plików do usunięcia.
BlaSOFT
Dodano
18.06.2011 21:37:23
tak
radek173
Dodano
18.06.2011 21:11:34
A nazwy są razem z rozszerzeniem?
BlaSOFT
Dodano
18.06.2011 21:09:27
wszystkie pliki są w jednym folderze, muszę po prostu usunąć 500 czcionek z font'a
radek173
Dodano
18.06.2011 21:01:35
Czy te wszystkie pliki do usunięcia znajdują się w jednym folderze? A może pliki do usunięcia znajdują się w różnych folderach ale w txt masz całe ścieżki do nich?
BlaSOFT
Dodano
18.06.2011 20:43:57
radek173
Dodano:
18.06.2011 19:20:04
Komentarzy:
9
Strona 1 / 1