Strona główna CMD WIN C++ Hardware HTML i javascript Java Software SQL

CMD (Win7)- skrypt zapisujący strukturę hierarchii plików w danej lokalizacji v02.

Dodano: 2011-07-01

Odtworzenie hierarchii plików w systemie jest bardzo pomocne. W wersji pierwszej skryptu można było wykonać odtwarzanie lecz tylko w systemie gdzie nie stosowano znaków specjalnych i spacji w nazwach folderów. Jeżeli napotkał on taki folder zatrzymywał się na nim nie dokończając operacji odwzorowania.

Po modyfikacji i rozbudowie skrypt ten umożliwia odtworzenie hierarchii nawet jeżeli istnieją spacje w nazwach lub też specjalne znaki takie jak np: ().

Foldery o nazwach np.: Program Files, Microsoft (R) Visual Studio (R) 2010 nie stanowią przeszkody w dalszej prawidłowej pracy ;)

Skrypt przetwarza rekurencyjnie foldery i odwzorowywuje ich hierarchię, jeżeli napotka na ścieżkę zawierającom znaki zakazane zapisuje ją z przedrostkiem [error search].

Drukuj Zaznacz kod
tree_file.bat
@echo off
 setlocal EnableDelayedExpansion
@rem @cls

if [%1] EQU [] (
	@echo Skrypt zapisujacy hierarchie plikow umieszczonych w folderze do "structfile.txt"
	@echo Skrypt przyjmuje jeden parametr poczatkowy, sciezke do folderu, ktorego uklad plikow powinnien zostac zapisany w postaci tekstowej.
	@echo.
	@echo Przyklad:
	@echo tree_file.bat c:\windows
	
	GOTO END
)

set temp=%1
set temp=%temp:"=%

set sc=!%~d$PATH:1%~s$PATH:1!
@rem cd !sc!
@echo sciezka obcieta:) [!sc!]
@echo %1
@echo Folder: %temp%

set fileN=structfile.txt

if exist "%fileN%" (
	if "%2" EQU "" (
		del %fileN%
	)
) 

@rem @echo !temp!\ >> %fileN%

if [%sc%] NEQ [] ( 
	for /f "delims=" %%a in ('dir !sc! /a-d /b') do (
		@echo !temp!\%%a
	 	@echo !temp!\%%a >> %fileN%
	)

	for /f "delims=" %%a in ('dir !sc! /ad /b') do (
		tree_file.bat "%temp%\%%a" no
	)
) ELSE (
	@echo [error search] !temp!\ >> %fileN%
)
	

:END