Как я могу удалить весь files/subdirs за исключением некоторых файлов в DOS?

Однажды проверьте версию Python, которую вы используете.

В приглашении anaconda введите python --version и проверьте его. Если он показывает 3.7.0, тензор потока не будет работать, так как на данный момент Python 3.7 не поддерживает тензор потока.

В этом случае вам нужно создать новую среду в anaconda и установить версию python, которая поддерживает тензор потока (например, Python 3.6). Вы можете перейти по этой ссылке для того же.

11
задан Marcus Leon 17 February 2009 в 22:07
поделиться

3 ответа

Можно установить атрибуты файлов, которых Вы хотите придерживаться только для чтения и скрытый первый, удалить остальных и затем сбросить атрибуты скрытых, файлов только для чтения назад.

attrib +r +s *.bat
del *.*
attrib -r -s *.bat

Я раньше делал это довольно часто и записал пакетный файл, который автоматизировал это:

@echo off
@ if "%1" == "%9" goto help
@ if /i %1 EQU ? goto help
@ if /i %1 EQU help goto help
@ attrib +h +s %1
@ %2 %3 /Q
@ attrib -h -s %1
@ goto :EOF
:help
@echo        ╔═══════════════════════════════════════════════════════╗
@echo        ║ except filespec1 doscommand filespec2                 ║
@echo        ║                                                       ║
@echo        ║  filespec1  The files to exclude from doscommand      ║
@echo        ║  doscommmand The DOS command to execute on filespec2  ║
@echo        ║  filespec2  The files to execute doscommand against   ║
@echo        ║                                                       ║
@echo        ║ Example:                                              ║
@echo        ║                                                       ║
@echo        ║ except *.txt del *.*                                  ║
@echo        ║                                                       ║
@echo        ║Deletes all files except text files in the directory   ║
@echo        ╚═══════════════════════════════════════════════════════╝

Нормально, вероятно, только использовать скрытый атрибут, но я знаю, что del не касается скрытых системных файлов, таким образом, я установил обоих. Лучше безопасный, чем жаль, IMO.

На основе комментария от Marcus: Если Вы хотите расширить это, чтобы включать подкаталоги текущего каталога, просто изменить обоих attrib строки на

attrib <remainder of line>  /S

и измените строку между двумя attrib строками к

@ %2 %3 /Q /S

Это должно работать на большинство вещей, которые Вы хотели бы, чтобы except.bat сделал.

21
ответ дан 3 December 2019 в 04:53
поделиться

Это основано на методе Alex резервного копирования.BAT файлов, но удаляет все подпапки также, с помощью команды RD.

@echo off

rem !WARNING!
rem THE_DELETE_DRIVE is the drive to delete
rem THE_BACKUP_DRIVE is the drive to use for backup
set THE_DELETE_DRIVE=T:
set THE_BACKUP_DRIVE=C:
rem !WARNING!

echo This will recursively delete everything from %THE_DELETE_DRIVE%\ (except batch files).
echo Are you sure? Press Ctrl+C to cancel, or any other key to continue...
echo.
pause

rem Make the backup folder
md %THE_BACKUP_DRIVE%\bak12345

rem Copy all batch files from delete-drive root to backup folder
copy %THE_DELETE_DRIVE%\*.bat %THE_BACKUP_DRIVE%\bak12345

rem Delete everything in the delete-drive root
rd /s/q %THE_DELETE_DRIVE%\

rem Copy all backed-up files back to delete-drive root
copy %THE_BACKUP_DRIVE%\bak12345\*.bat %THE_DELETE_DRIVE%\

rem Remove the backup folder
rd /s/q %THE_BACKUP_DRIVE%\bak12345

echo ************************************
echo All Done!
echo ************************************
echo.

pause
0
ответ дан 3 December 2019 в 04:53
поделиться

Зафиксированный на основе комментария @Ken:

>d:
>mkdir bats
>c:
>copy *.bat d:\bats
>del *.* / Y
>copy d:\bats\*.bat c:\
2
ответ дан 3 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: