-
Notifications
You must be signed in to change notification settings - Fork 0
/
BATlister.bat
79 lines (63 loc) · 2.62 KB
/
BATlister.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
::+-+-+-+-+
::BATlister
::+-+-+-+-+
::Batch Script that creates a list of all files in a given directory.
::Author:
::Mister Riley
::https://github.com/sorzkode
::MIT License
::Copyright (c) 2024 Mister Riley
::Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
::to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
::and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
::The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
::THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
::FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
::WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@echo off
echo BATlister Script
echo Create a .txt list of all files in a given directory
echo ...
:loop
:: Get directory path
set /p directory="Enter the directory path (or press Enter to use the script file path): "
if "%directory%"=="" set "directory=%~dp0"
:: Check if directory exists
if not exist "%directory%" (
echo Invalid directory path. Exiting...
exit /b 1
)
:: Get save location
set /p save_location="Enter the save location and file name (e.g. C:\filelist.txt, press Enter to use default): "
if "%save_location%"=="" set "save_location=%directory%\BATlister_output.txt"
:: Check if save location exists
if not exist "%~dpnxsave_location%" (
echo Invalid save location path. Exiting...
exit /b 1
)
echo Generating your file list...
:: Get file count
setlocal enabledelayedexpansion
set total_files=0
:: Count files
for %%i in ("%directory%\*.*") do (
set /a total_files+=1
)
:: Create file list
echo BATlister Script>>"%save_location%"
echo ================>>"%save_location%"
echo Directory: %directory%>>"%save_location%"
echo Count: %total_files% Files>>"%save_location%"
echo File List:>>"%save_location%"
echo ___________>>"%save_location%"
:: List files
dir /b "%directory%">>"%save_location%"
:: End
echo %save_location% successfully created
echo Press Enter to create another list or any other key to exit
set /p continue=
if "%continue%"=="" (
cls
goto loop
)