Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :: FileToggler.cmd by CirothUngol July 10, 2016
- @ECHO OFF
- SETLOCAL EnableExtensions DisableDelayedExpansion
- MODE 80,10000
- CHCP 65001 >NUL
- SET "searchFor=*"
- SET "targetDir=."
- SET doWhat=MOVE
- SET switch=/Y
- SET "SELF=%~nx0"
- SET skip=0
- SET data=0
- SET flag=0
- IF NOT "%~1"=="" SET "searchFor=%~1"
- :checkDir
- IF "%targetDir:~-1%"=="\" SET "targetDir=%targetDir:~0,-1%" &GOTO :checkDir
- PUSHD "%~dp0"
- FOR /F "usebackq tokens=*" %%A IN ("%~nx0") DO (
- SET "lastLine=%%~A"
- IF DEFINED flag (SET /A skip+=1) ELSE (SET /A data+=1)
- IF "%%A"==":: PLACE DATA AFTER THIS LINE ::" SET flag=
- )
- IF %data%==0 (
- ECHO writing data for this folder...
- FOR /F "tokens=*" %%A IN ('DIR /A-D /B /O /S "%searchFor%" 2^>NUL') DO (
- SET "fn=%%A"
- SETLOCAL EnableDelayedExpansion
- SET "fn=!fn:%~dp0=!"
- SET "fn2=!fn:%%~nxA=!"
- IF DEFINED fn2 (
- TITLE scan: !fn!
- ECHO ".\!fn!">>"%SELF%"
- )
- ENDLOCAL
- )
- TITLE %~n0 done scanning files
- GOTO :stop
- )
- IF EXIST "%lastLine%" (
- MD "%targetDir%\" >NUL 2>&1
- FOR /F "usebackq skip=%skip% tokens=*" %%A IN ("%~nx0") DO (
- IF EXIST "%%~nxA" (
- IF EXIST "%%~A" ECHO File Exists, cannot %doWhat% "%%~A"
- ) ELSE (
- TITLE %doWhat% to "%targetDir%\": "%%~A"
- %doWhat% %switch% "%%~A" "%targetDir%\" >NUL 2>&1
- )
- )
- FOR /F "tokens=*" %%A IN ('DIR "*.*" /AD-S /B /S 2^>NUL ^| SORT /R') DO (RD "%%A" > NUL 2>&1)
- RD "%targetDir%\" >NUL 2>&1
- ) ELSE (
- FOR /F "usebackq skip=%skip% tokens=*" %%A IN ("%~nx0") DO (
- IF EXIST "%%~nxA" (
- MD "%%~dpA" >NUL 2>&1
- TITLE %doWhat% to "%%~dpA": "%%~nxA"
- %doWhat% %switch% "%%~nxA" "%%~dpA" >NUL 2>&1
- RD "%%~dpA" >NUL 2>&1
- )
- )
- )
- TITLE %~n0 done toggling files
- :stop
- POPD
- ENDLOCAL
- <NUL SET /P xx=press any key to exit %~n0...
- PAUSE >NUL
- EXIT /B 0
- :: PLACE DATA AFTER THIS LINE ::
Advertisement