Skrypty wiersza poleceń
Do przechowywania skryptów, których używam z wiersza poleceń, tworzę plik Command Line Scripts katalog w Program Files i dodaję go do zmiennej środowiskowej PATH. Używam następującego pliku wsadowego do wyświetlania i edytowania tych skryptów:
@echo off
setlocal
set UTILPATH=C:\Program Files\System Tools\Command Line Utilities
if not "x%1"=="x" (
start "" "notepad" "%UTILPATH%\%1.bat"
) else (
dir /b "%UTILPATH%" | grep -v com.bat | grep -P "(exe|bat|cmd)" | sed "s/\.\(exe\|bat\|cmd\)//"
echo.
)
(zwróć uwagę, że filtrowanie listy katalogów zależy od niektórych poleceń unix, które zainstalowałem za pośrednictwem Cygwin )
Nadaję mu nazwę com.bat (skrót od command), a następnie mogę:
- wyświetlić listę skryptów w tym katalogu, wpisując
com w wierszu polecenia
- edytuj dowolny skrypt na liście, wpisując
com script-name w wierszu polecenia *, podobnie:
- utwórz nowe skrypty w tym katalogu, wpisując
com new-script-name w wierszu poleceń *
- a jeśli kiedykolwiek będę musiał edytować com.bat, po prostu piszę
com com
* Ponieważ używam Vista, muszę używać wiersza poleceń z podwyższonym poziomem uprawnień, ponieważ katalogi w ramach Program Filessą chronione. Aby szybko uruchomić wiersz polecenia z podwyższonym poziomem uprawnień, po prostu naciśnij klawisz Win key; typ cmd; naciśnijCtrl+Shift+Enter ; a następnie naciśnij, Alt+Caby potwierdzić monit o podniesienie. Sześć naciśnięć klawiszy do wiersza poleceń z podwyższonym poziomem uprawnień! ([przez] [4])
Skrypt startowy
Jednym ze skryptów, które przechowuję w swoim Command Line Scriptskatalogu, jest skrypt, który jest uruchamiany, gdy loguję się do systemu Windows (za pomocą Task Scheduler, wpisz Taskw menu startowym Vista). Używam tego skryptu do skonfigurowania kilku dysków wirtualnych za pomocą polecenia subst do katalogów, do których często mam dostęp lub chcę uzyskać szybki dostęp w wierszu polecenia lub dla skracania nazw ścieżek w ostrzeżeniach kompilatora, dziennikach lub danych wyjściowych debugowania.
Mój skrypt startowy wygląda mniej więcej tak:
@setlocal
@set _MYDOCS_=%USERPROFILE%\Documents
@REM Note: first delete the drives so I can run script again
@REM to fix drives that failed to get mapped
subst /d W:
subst /d T:
subst /d S:
subst /d R:
subst /d N:
subst /d L:
subst /d H:
subst W: "%_MYDOCS_%\Work\SVN Working Copy\Website\trunk\www"
subst T: "%_MYDOCS_%\Work\SVN Working Copy\project 1\trunk"
subst S: "%_MYDOCS_%\Work\SVN Working Copy"
subst R: "%_MYDOCS_%\Work\SVN Working Copy\project 2\branches\12.50"
subst N: "%_MYDOCS_%\Work\SVN Working Copy\project 2\trunk"
subst L: "%_MYDOCS_%\Work\"
subst H: "%_MYDOCS_%\My Projects\Haslers.info\Working Copy"
Zauważ, że subst może być trochę temperamentny i czasami dyski nie są tworzone i muszę ponownie ręcznie uruchomić skrypt startowy.