Add exo powershell
This commit is contained in:
parent
dbbcb22c8f
commit
dbb30739d7
4 changed files with 377 additions and 0 deletions
16
scripting/Makefile
Normal file
16
scripting/Makefile
Normal file
|
@ -0,0 +1,16 @@
|
|||
filename=$(shell basename $(shell pwd))
|
||||
timestamp=$(shell date +%Y-%m-%d_%H:%M)
|
||||
|
||||
all: exo_pwsh
|
||||
|
||||
exo_pwsh: exo_pwsh.tex
|
||||
@latexmk -pdf exo_pwsh.tex
|
||||
@if ! cmp --silent build/exo_pwsh.pdf exo_pwsh_*.pdf; then \
|
||||
touch exo_pwsh_tmp.pdf; \
|
||||
rm exo_pwsh*.pdf; \
|
||||
cp build/exo_pwsh.pdf exo_pwsh_${timestamp}.pdf; \
|
||||
echo "Updated"; \
|
||||
fi
|
||||
|
||||
clean:
|
||||
@rm -rf build 2>/dev/null
|
95
scripting/exo.ps1
Normal file
95
scripting/exo.ps1
Normal file
|
@ -0,0 +1,95 @@
|
|||
# Exercices PowerShell
|
||||
|
||||
# 1. Afficher l'aide sur la commande Get-Alias
|
||||
Get-Help Get-Alias
|
||||
|
||||
# 2. Afficher l’aide avec les exemples sur la commande Get-Alias
|
||||
Get-Help -Examples Get-Alias
|
||||
|
||||
# 3. Afficher tous les alias dont le nom commence par la lettre g
|
||||
Get-Alias g*
|
||||
|
||||
# 4. Afficher la commande qui correspond à l’alias dont le nom est sl
|
||||
Get-Alias sl
|
||||
|
||||
# 5. Afficher tous les alias dont la définition est Get-ChildItem
|
||||
Get-Alias -Definition Get-ChildItem
|
||||
|
||||
# 6. Afficher les informations du volume nommé C (un volume dans votre machine)
|
||||
Get-Item C:\
|
||||
|
||||
# 7. Afficher les méthodes et les propriétés des objets retournés par la commande Get-Location
|
||||
Get-Location | Get-Member
|
||||
|
||||
# 8. Afficher les méthodes et les propriétés des objets retournés par la commande Get-PSDrive
|
||||
Get-PSDrive | Get-Member
|
||||
|
||||
# 9. Afficher le chemin du dossier courant
|
||||
Get-Location
|
||||
|
||||
# 10. Se déplacer à la racine de la partition C: (chemin c:\) (ou n’importe quelle partition dans votre machine)
|
||||
Set-Location C:\
|
||||
|
||||
# 11. A cet emplacement, créer un dossier nommé testPowerShell
|
||||
New-Item -Path C:\ -Name testPowerShell -ItemType Directory
|
||||
|
||||
# 12. Se déplacer dans le dossier c:\testPowerShell
|
||||
Set-Location C:\testPowerShell
|
||||
|
||||
# 13. Créer un dossier nommé testdossier
|
||||
New-Item testdossier -ItemType Directory
|
||||
|
||||
# 14. Créer un fichier nommé test1.txt, contenant la phrase "Tp PowerShell 1"
|
||||
Write-Output "Tp PowerShell 1" | Out-File test1.txt
|
||||
|
||||
# 15. Afficher la liste des dossiers et fichiers
|
||||
Get-ChildItem
|
||||
|
||||
# 16. Copier le fichier test1.txt sous le nom test2.txt, Renommer le fichier test1.txt avec le nom essai1.txt, Copier le fichier essai1.txt dans le dossier testdossier\essai1.txt
|
||||
Copy-Item -Path test1.txt -Destination test2.txt
|
||||
Rename-Item -Path test1.txt -NewName essai1.txt
|
||||
Copy-Item -Path essai1.txt -Destination testdossier\test1.txt
|
||||
|
||||
# 17. Afficher la liste des fichiers du dossier et des sous-dossiers de testPowerShell
|
||||
Get-ChildItem -Recurse testPowerShell
|
||||
|
||||
# 18. Copier le dossier testdossier (avec ses fichiers) dans un nouveau dossier test2dossier, Déplacer le fichier test2.txt dans le dossier testdossier, Supprimer le dossier test2dossier (avec ses fichiers)
|
||||
Copy-Item -Recurse testdossier -Destination test2dossier
|
||||
Move-Item -Path test2.txt -Destination testdossier
|
||||
Remove-Item -Recurse test2dossier
|
||||
|
||||
# 19. Tester l’existence du dossier c:\windows
|
||||
Test-Path C:\Windows
|
||||
|
||||
# 20. Afficher le contenu du dossier c:\windows
|
||||
Get-ChildItem C:\Windows
|
||||
|
||||
# 21. Afficher la liste des fichiers .exe du dossier c:\windows
|
||||
Get-ChildItem -Path C:\Windows -Name *.exe
|
||||
|
||||
# 22. Affecter à la variable $loc, le résultat de la commande Get-Location
|
||||
$loc = Get-Location
|
||||
|
||||
# 23. Afficher les propriétés et les méthodes de la variable $loc
|
||||
$loc | Get-Member
|
||||
|
||||
# 24. Afficher le chemin du dossier courant contenu dans cette variable.
|
||||
Write-Output $loc.Path
|
||||
|
||||
# 25. Afficher les informations sur le disque contenu par cette variable.
|
||||
Write-Output $loc.Drive
|
||||
|
||||
# 26. Afficher les informations sur le ‘Provider’ contenu par cette variable
|
||||
Write-Output $loc.Provider
|
||||
|
||||
# 27. Affecter à la variable $lect, le résultat de la commande Get-PSDrive –Name C
|
||||
$lect = Get-PSDrive -Name C
|
||||
|
||||
# 28. Afficher les propriétés et les méthodes de la variable $lect
|
||||
$lect | Get-Member
|
||||
|
||||
# 29. A partir de la variable $lect, afficher la description du lecteur C
|
||||
Write-Output $lect.Description
|
||||
|
||||
# 30. Afficher la taille en octet du volume utilisé
|
||||
Write-Output $lect.Used
|
172
scripting/exo_pwsh.tex
Normal file
172
scripting/exo_pwsh.tex
Normal file
|
@ -0,0 +1,172 @@
|
|||
\documentclass[a4paper,french,12pt]{article}
|
||||
|
||||
\title{Scripting --- Exercices PowerShell}
|
||||
\author{Tunui Franken}
|
||||
\date{Dernière compilation~: \today{} à \currenttime}
|
||||
|
||||
\usepackage{styles}
|
||||
\usepackage{enumitem}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item Afficher l'aide sur la commande Get-Alias
|
||||
\begin{console}[gobble=12]
|
||||
Get-Help Get-Alias
|
||||
\end{console}
|
||||
|
||||
\item Afficher l’aide avec les exemples sur la commande Get-Alias
|
||||
\begin{console}[gobble=12]
|
||||
Get-Help -Examples Get-Alias
|
||||
\end{console}
|
||||
|
||||
\item Afficher tous les alias dont le nom commence par la lettre g
|
||||
\begin{console}[gobble=12]
|
||||
Get-Alias g*
|
||||
\end{console}
|
||||
|
||||
\item Afficher la commande qui correspond à l’alias dont le nom est sl
|
||||
\begin{console}[gobble=12]
|
||||
Get-Alias sl
|
||||
\end{console}
|
||||
|
||||
\item Afficher tous les alias dont la définition est Get-ChildItem
|
||||
\begin{console}[gobble=12]
|
||||
Get-Alias -Definition Get-ChildItem
|
||||
\end{console}
|
||||
|
||||
\item Afficher les informations du volume nommé C (un volume dans votre machine)
|
||||
\begin{console}[gobble=12]
|
||||
Get-Item C:\
|
||||
\end{console}
|
||||
|
||||
\item Afficher les méthodes et les propriétés des objets retournés par la commande Get-Location
|
||||
\begin{console}[gobble=12]
|
||||
Get-Location | Get-Member
|
||||
\end{console}
|
||||
|
||||
\item Afficher les méthodes et les propriétés des objets retournés par la commande Get-PSDrive
|
||||
\begin{console}[gobble=12]
|
||||
Get-PSDrive | Get-Member
|
||||
\end{console}
|
||||
|
||||
\item Afficher le chemin du dossier courant
|
||||
\begin{console}[gobble=12]
|
||||
Get-Location
|
||||
\end{console}
|
||||
|
||||
\item Se déplacer à la racine de la partition C: (chemin c) (ou n’importe quelle partition dans votre machine)
|
||||
\begin{console}[gobble=12]
|
||||
Set-Location C:\
|
||||
\end{console}
|
||||
|
||||
\item A cet emplacement, créer un dossier nommé testPowerShell
|
||||
\begin{console}[gobble=12]
|
||||
New-Item -Path C:\ -Name testPowerShell -ItemType Directory
|
||||
\end{console}
|
||||
|
||||
\item Se déplacer dans le dossier c:testPowerShell
|
||||
\begin{console}[gobble=12]
|
||||
Set-Location C:\testPowerShell
|
||||
\end{console}
|
||||
|
||||
\item Créer un dossier nommé testdossier
|
||||
\begin{console}[gobble=12]
|
||||
New-Item testdossier -ItemType Directory
|
||||
\end{console}
|
||||
|
||||
\item Créer un fichier nommé test1.txt, contenant la phrase Tp PowerShell 1
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output "Tp PowerShell 1" | Out-File test1.txt
|
||||
\end{console}
|
||||
|
||||
\item Afficher la liste des dossiers et fichiers
|
||||
\begin{console}[gobble=12]
|
||||
Get-ChildItem
|
||||
\end{console}
|
||||
|
||||
\item Copier le fichier test1.txt sous le nom test2.txt, Renommer le fichier test1.txt avec le nom essai1.txt, Copier le fichier essai1.txt dans le dossier testdossier/essai1.txt
|
||||
\begin{console}[gobble=12]
|
||||
Copy-Item -Path test1.txt -Destination test2.txt
|
||||
Rename-Item -Path test1.txt -NewName essai1.txt
|
||||
Copy-Item -Path essai1.txt -Destination testdossier\test1.txt
|
||||
\end{console}
|
||||
|
||||
\item 17. Afficher la liste des fichiers du dossier et des sous-dossiers de testPowerShell
|
||||
\begin{console}[gobble=12]
|
||||
Get-ChildItem -Recurse testPowerShell
|
||||
\end{console}
|
||||
|
||||
\item 18. Copier le dossier testdossier (avec ses fichiers) dans un nouveau dossier test2dossier, Déplacer le fichier test2.txt dans le dossier testdossier, Supprimer le dossier test2dossier (avec ses fichiers)
|
||||
\begin{console}[gobble=12]
|
||||
Copy-Item -Recurse testdossier -Destination test2dossier
|
||||
Move-Item -Path test2.txt -Destination testdossier
|
||||
Remove-Item -Recurse test2dossier
|
||||
\end{console}
|
||||
|
||||
\item Tester l’existence du dossier c:/windows
|
||||
\begin{console}[gobble=12]
|
||||
Test-Path C:\Windows
|
||||
\end{console}
|
||||
|
||||
\item Afficher le contenu du dossier c:/windows
|
||||
\begin{console}[gobble=12]
|
||||
Get-ChildItem C:\Windows
|
||||
\end{console}
|
||||
|
||||
\item Afficher la liste des fichiers\ .exe du dossier c:/windows
|
||||
\begin{console}[gobble=12]
|
||||
Get-ChildItem -Path C:\Windows -Name *.exe
|
||||
\end{console}
|
||||
|
||||
\item Affecter à la variable \$loc, le résultat de la commande Get-Location
|
||||
\begin{console}[gobble=12]
|
||||
$loc = Get-Location
|
||||
\end{console}
|
||||
|
||||
\item Afficher les propriétés et les méthodes de la variable \$loc
|
||||
\begin{console}[gobble=12]
|
||||
$loc | Get-Member
|
||||
\end{console}
|
||||
|
||||
\item Afficher le chemin du dossier courant contenu dans cette variable.
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output $loc.Path
|
||||
\end{console}
|
||||
|
||||
\item Afficher les informations sur le disque contenu par cette variable.
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output $loc.Drive
|
||||
\end{console}
|
||||
|
||||
\item Afficher les informations sur le `Provider' contenu par cette variable
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output $loc.Provider
|
||||
\end{console}
|
||||
|
||||
\item Affecter à la variable \$lect, le résultat de la commande Get-PSDrive –Name C
|
||||
\begin{console}[gobble=12]
|
||||
$lect = Get-PSDrive -Name C
|
||||
\end{console}
|
||||
|
||||
\item Afficher les propriétés et les méthodes de la variable \$lect
|
||||
\begin{console}[gobble=12]
|
||||
$lect | Get-Member
|
||||
\end{console}
|
||||
|
||||
\item A partir de la variable \$lect, afficher la description du lecteur C
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output $lect.Description
|
||||
\end{console}
|
||||
|
||||
\item Afficher la taille en octet du volume utilisé
|
||||
\begin{console}[gobble=12]
|
||||
Write-Output $lect.Used
|
||||
\end{console}
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\end{document}
|
94
scripting/styles.sty
Normal file
94
scripting/styles.sty
Normal file
|
@ -0,0 +1,94 @@
|
|||
\ProvidesPackage{styles}
|
||||
|
||||
\usepackage[
|
||||
%showframe,
|
||||
a4paper,includeheadfoot,margin=2cm,top=1cm,bottom=1cm
|
||||
]{geometry}
|
||||
|
||||
\setcounter{tocdepth}{2}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{babel}
|
||||
|
||||
\usepackage{datetime}
|
||||
|
||||
\usepackage{color}
|
||||
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\everymath{\displaystyle}
|
||||
\newcommand*\dif{\mathop{}\!\mathrm{d}}
|
||||
|
||||
\usepackage{booktabs}
|
||||
\usepackage{tabularx}
|
||||
\newcolumntype{Y}{>{\centering\arraybackslash}X}
|
||||
\usepackage{multicol}
|
||||
\usepackage{multirow}
|
||||
\usepackage{makecell}
|
||||
\usepackage{parskip}
|
||||
\usepackage{microtype}
|
||||
|
||||
\usepackage{listingsutf8}
|
||||
\lstset{%
|
||||
inputencoding=utf8/latin1,
|
||||
basicstyle=\small\ttfamily,
|
||||
columns=flexible,
|
||||
breaklines=true,
|
||||
extendedchars=true,
|
||||
literate=
|
||||
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'\i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||||
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||||
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`\i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||||
{À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||||
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"\i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||||
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||||
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^\i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||||
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||||
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1 {œ}{{\oe}}1
|
||||
{Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1
|
||||
{Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1
|
||||
{Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||||
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||||
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
|
||||
}
|
||||
\let\oldlstinputlisting\lstinputlisting
|
||||
% make \lstinputlisting always have frame
|
||||
\renewcommand{\lstinputlisting}[2][]{\oldlstinputlisting[frame=single,#1]{#2}}
|
||||
|
||||
\lstnewenvironment{console}[1][]{%
|
||||
\lstset{%
|
||||
inputencoding=utf8/latin1,
|
||||
basicstyle=\small\ttfamily\color{white},
|
||||
columns=flexible,
|
||||
breaklines=true,
|
||||
extendedchars=true,
|
||||
literate=
|
||||
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'\i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||||
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||||
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`\i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||||
{À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||||
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"\i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||||
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||||
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^\i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||||
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||||
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1 {œ}{{\oe}}1
|
||||
{Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1
|
||||
{Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1
|
||||
{Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||||
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||||
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1,
|
||||
backgroundcolor=\color{black}, #1
|
||||
}%
|
||||
}{}
|
||||
|
||||
\usepackage{graphicx}
|
||||
|
||||
\usepackage[hyphens]{url}
|
||||
\usepackage[colorlinks,hidelinks]{hyperref}
|
||||
|
||||
\usepackage{letltxmacro}
|
||||
\LetLtxMacro{\normalparagraph}{\paragraph}
|
||||
\renewcommand{\paragraph}[1]{\normalparagraph{#1}\mbox{}}
|
||||
|
||||
\sloppy
|
Loading…
Reference in a new issue