Как распечатать часть строки в текстовом файле с помощью команд командного файла - PullRequest
0 голосов
/ 14 июля 2020
-rwx------ root;SQL_ root;Doma      393216 Jul 05 05:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_050000_9821955.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 06:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_060001_9241754.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 07:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_070001_7545780.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 08:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_080001_4850750.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 09:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_090001_3588313.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 10:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_100001_2038178.trn
-rwx------ root;SQL_ root;Doma      393216 Jul 05 11:00 V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_110000_9809957.trn

эти данные находятся в текстовом файле, и мне нужны только имена файлов, такие как V:\MSSQL\Backup\mydb\mydb_backup_2020_07_05_050000_9821955.trn, и передать их команде удаления.

Я использовал эту команду в пакетном файле

FOR /F %%i IN (<file location>) DO del /Q %%i.

Однако он не работает, поскольку он читает 1-ю строку и содержит специальные символы -rwx-----.

1 Ответ

0 голосов
/ 15 июля 2020

Спасибо, мне помогла эта команда:

FOR /F "tokens=8 delims= " %a IN (<file_name> or <file_path>) do del %a

Пример: как команда:

FOR /F "tokens=8 delims= " %a IN (N:\Test_Folder\DELETE-FILES-20200709_195526) do del %a

в пакетном файле:

FOR /F "tokens=8 delims= " %%a IN (N:\Test_Folder\DELETE-FILES-20200709_195526) do del %%a
...