<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - InitSreen</title>
		<link>https://www.developpez.net/forums/blogs/500020-initsreen/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Thu, 09 Apr 2026 16:54:25 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - InitSreen</title>
			<link>https://www.developpez.net/forums/blogs/500020-initsreen/</link>
		</image>
		<item>
			<title>Gestion de la copie asynchrone en ligne de commande</title>
			<link>https://www.developpez.net/forums/blogs/500020-initsreen/b362/gestion-copie-asynchrone-ligne-commande/</link>
			<pubDate>Thu, 19 Mar 2015 14:47:48 GMT</pubDate>
			<description>La copie des fichiers ce fait...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">La copie des fichiers ce fait de manière asynchrone. C'est à dire que suite à une demande de copie d'un fichier, le contrôle revient au programme demandeur avant que l'opération n'est réellement était effectué. Cela peut dans certains cas poser problème, en particulier lorsque les opérations suivantes portent sur le même fichier. Exemple:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code bat :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:84px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">@<span style="color: #0080ff;">echo</span> off
<span style="color: #0080ff;">copy</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\test.txt&quot;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\foo\test.txt&quot;</span>
<span style="color: #0080ff;">del</span> /q <span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\test.txt&quot;</span>
<span style="color: #0080ff;">pause</span></pre></td></tr></table></pre>
</div><br />
Ici la solution est simple puisque ce code reproduit l'opération effectué par la commande &quot;move&quot;. Il faudra donc remplacer les commandes &quot;copy&quot; et &quot;del&quot; par &quot;move&quot;. Dans d'autres cas, la solution est plus alambiqué du fait des opérations voulues.<br />
<br />
Par exemple lors d'un déploiement d'une image Windows hors connexion, l'utilisation de la commande &quot;copy&quot; peut provoquer des erreurs lors du démontage de l'image.<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code bat :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:96px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0">@<span style="color: #0080ff;">echo</span> off
dism /Mount-Image /ImageFile:<span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\myimage.wim&quot;</span> /index:1 /MountDir:<span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\offline&quot;</span>
<span style="color: #0080ff;">copy</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\test.exe&quot;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\offline\test.exe&quot;</span>
dism /Unmount-Image /MountDir:<span style="color: #FF0000;">&quot;<span style="color: #800000;">%cd%</span>\offline&quot;</span> /commit
<span style="color: #0080ff;">pause</span></pre></td></tr></table></pre>
</div><br />
Ce code produira toujours une erreur du fait que le script continuera a s'exécuter alors que le fichier &quot;%cd%\test.exe&quot; n'a pas encore finit d'être copié. La solution est d'utilisé le paramètre &quot;/v&quot; dans la commande &quot;copy&quot;, celui-ci force la vérification du fichier copié. Cette opération étant effectué par la commande &quot;copy&quot;, le contrôle ne reviendra pas au script tant que la copie n'est pas effectué.<br />
<br />
Voilà, bon script à tous :D</blockquote>

]]></content:encoded>
			<dc:creator>InitSreen</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/500020-initsreen/b362/gestion-copie-asynchrone-ligne-commande/</guid>
		</item>
		<item>
			<title>Les paramètres de commande dans cmd.exe</title>
			<link>https://www.developpez.net/forums/blogs/500020-initsreen/b298/parametres-commande-cmd-exe/</link>
			<pubDate>Wed, 04 Mar 2015 21:52:41 GMT</pubDate>
			<description>Même si tout le monde sait...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Même si tout le monde sait utiliser la ligne de commande et donc les paramètres de commande, il convient de rappeler quelques points.<br />
<br />
Lorsqu'un paramètre contient des espaces, il doit être placé entre des guillemets comme dans l'exemple suivant:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">&lt;cmd&gt; &quot;Un paramètre avec des espaces&quot;</pre>
</div>Jusque là rien de bien compliqué, cependant un point est à souligner car trop souvent négliger. Lorsque un paramètre de commande est formé à partir d'une variable expansé, ce paramètre doit, dans la plupart des cas, être placé entre des guillemets.<br />
<br />
Pour illustrer ce concept, prenons la variable &quot;%cd%&quot; qui par essence est un chemin d'accès que l'on ne connait pas. Si la variable &quot;%cd%&quot; s'expand en une chaîne contenant des espaces cela conduit à une erreur de syntaxe parfois incompréhensible pour le novice.<br />
<br />
Ainsi une règle simple à mettre en place est que lorsqu'un paramètre est formé d'au moins une variable, ce paramètre doit être placé entre des guillemets afin d'éviter toutes erreurs.<br />
<br />
Enfin pour conclure, les caractères &quot; et \ doivent êtres échappé avec le caractère \ lorsqu'ils sont placé dans une chaîne entre guillemets.<br />
<br />
Voilà, bon script à tous. :D</blockquote>

]]></content:encoded>
			<dc:creator>InitSreen</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/500020-initsreen/b298/parametres-commande-cmd-exe/</guid>
		</item>
	</channel>
</rss>
