<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SurlyJake &#187; jacob</title>
	<atom:link href="http://www.surlyjake.com/author/jacob/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.surlyjake.com</link>
	<description></description>
	<lastBuildDate>Tue, 29 Jun 2010 21:27:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Convert High-Def MKV to play on xbox 360 using Linux</title>
		<link>http://www.surlyjake.com/linux/convert-high-def-mkv-to-play-on-xbox-360-using-linux/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=convert-high-def-mkv-to-play-on-xbox-360-using-linux</link>
		<comments>http://www.surlyjake.com/linux/convert-high-def-mkv-to-play-on-xbox-360-using-linux/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 21:23:32 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[codec]]></category>
		<category><![CDATA[h 264]]></category>
		<category><![CDATA[mkv file]]></category>
		<category><![CDATA[xbox360]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=612</guid>
		<description><![CDATA[There are a million different tutorials out there on how to convert a MKV file into a format that an xbox360 will play. You may have found, like i did, that most of them use 50 different questionable pieces of software to manipulate individual tracks and separate the mkv, etc, etc&#8230; I think those are [...]]]></description>
			<content:encoded><![CDATA[<p>There are a million different tutorials out there on how to convert a MKV file into a format that an xbox360 will play. You may have found, like i did, that most of them use 50 different questionable pieces of software to manipulate individual tracks and separate the mkv, etc, etc&#8230; I think those are ridiculous.</p>
<p>Please read the<a href="http://support.xbox.com/support/en/us/nxe/gamesandmedia/movies/videofaq/viewvideoplaybackfaq.aspx" target="_blank"> FAQ regarding xbox360 file format compatibility</a>.  It may help you pick better options for your particular files than the general ones i offer below.</p>
<p>The solution is simple: Use <a href="http://avidemux.sourceforge.net/" target="_blank">Avidemux</a>.</p>
<ol>
<li>Install avidemux. To install it is simple. It&#8217;s in the Ubuntu repositories and I imagine you can also find it in other distros quite easily.</li>
<li>Open avidemux and open the mkv you want to convert. If prompted some garbage about 264 and safemode, just use safe mode and dont worry about it.</li>
<li>Select File -&gt; Properties. This will tell you some info on the formats in use in your video file. Take this opportunity to identify what the xbox doesn&#8217;t like. When you are finished, click OK. If you want a second opinion, open up the folder with your mkv in it.  Right click -&gt; properties -&gt; Audio/Video tab. This will also tell  you the video and audio formats.</li>
<li>We obviously know that it wont play a video in a MKV container, so first thing to do is change the &#8220;Format&#8221; dropdown to say &#8220;MP4&#8243; <em>(you can, of course use AVI, but the majority of files I run into are h.264 and aac audio. For this combo, you want mp4&#8230;)</em></li>
<li>From the Properties menu, recall the video codec. H264 files show as &#8220;AVC1&#8243; inside of avidemux. I&#8217;m sure theres a technical reason for this, but do you want to talk about it or watch your video?<br />
Most of the time, you can leave the video droptown in avidemux on &#8220;Copy&#8221; this is nice because it means that your processor wont be re-encoding the video. This saves you quality and time.</li>
<li>From the properties menu, recall the audio codec. If you have a video with AAC stereo audio, leave the dropdown on &#8220;copy&#8221;.<br />
This is where most of my files need some love. Many MKV&#8217;s have 5.1 surround audio tracks. This is great, but not for an xbox360. To mix the audio down to stereo, select AAC on the audio dropdown, then click &#8220;filters&#8221;. In the mixer dropdown, select &#8220;stereo&#8221;.</li>
<li>Click &#8220;save&#8221;. Avidemux will prompt you for a filename for the converted file. It does not default a file extension, so do yourself and your xbox a favor and add one yourself like &#8220;&lt;videoname&gt;.mp4&#8243;.</li>
</ol>
<p>Once avidemux is finished with your file, it&#8217;s ready to go.</p>
<p><a class="linkification-ext" title="Linkification: http://avidemux.sourceforge.net/" href="http://avidemux.sourceforge.net/">http://avidemux.sourceforge.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/linux/convert-high-def-mkv-to-play-on-xbox-360-using-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Script to run handbrake on an entire folder</title>
		<link>http://www.surlyjake.com/linux/script-to-run-handbrake-on-an-entire-folder/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=script-to-run-handbrake-on-an-entire-folder</link>
		<comments>http://www.surlyjake.com/linux/script-to-run-handbrake-on-an-entire-folder/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 21:33:09 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell scripting]]></category>
		<category><![CDATA[bash script]]></category>
		<category><![CDATA[Handbrake]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[video files]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=601</guid>
		<description><![CDATA[Handbrake is a fantastic tool for (among other uses), converting videos into mobile formats. It is extremely easy to use and can usually get a video properly converted in just a few clicks. To get Videos encoded for use on my phone, I use the &#8220;iPhone &#38; iPod Touch&#8221; preset. It will convert your video [...]]]></description>
			<content:encoded><![CDATA[<p>Handbrake is a fantastic tool for (among other uses), converting videos into mobile formats. It is extremely easy to use and can usually get a video properly converted in just a few clicks. To get Videos encoded for use on my phone, I use the &#8220;iPhone &amp; iPod Touch&#8221; preset. It will convert your video to .mp4 as well as scall it down to a consumable size. This format will work on any smartphone I&#8217;ve seen.</p>
<p>My issue is that when converting a folder full of videos, I don&#8217;t want to have to use the gui to add a bunch of videos to the queue one by one. It&#8217;s a very clicky process. This simple bash script will walk handbrake through all the files in a selected folder:</p>
<pre><code>#!/bin/bash
for file in "$1"/*
do
	echo 'HandBrakeCLI -i "${file}" -o "${file}.mp4" --preset="iPhone &amp; iPod Touch"""'
	HandBrakeCLI -i "${file}" -o "${file}.mp4" --preset="iPhone &amp; iPod Touch"""
done</code></pre>
<p>Save that into a .sh file like &#8220;handbrakefolder.sh&#8221;</p>
<p>Now you can simply execute this script against a folder containing your video files. like this:</p>
<pre><code>hostname% ls Videos
Video1.avi
Video2.avi
Video3.avi
hostname% ./handbrakefolder.sh Videos
...
...
...
hostname% ls Videos
Video1.avi
Video1.avi.mp4
Video2.avi
Video2.avi.mp4
Video3.avi
Video3.avi.mp4</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/linux/script-to-run-handbrake-on-an-entire-folder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updating FreeBSD ports nicely using nice</title>
		<link>http://www.surlyjake.com/freebsd8/updating-freebsd-ports-nicely-using-nice/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=updating-freebsd-ports-nicely-using-nice</link>
		<comments>http://www.surlyjake.com/freebsd8/updating-freebsd-ports-nicely-using-nice/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 15:34:22 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[FreeBSD8]]></category>
		<category><![CDATA[Compiling]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[freebsd ports]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=595</guid>
		<description><![CDATA[Thanks to: http://scottspare.com/bsdfun/?p=75 for pointing me in the right direction. Compiling port updates can take a while and slow down your server. What you can do is use the &#8216;nice&#8217; utility to force the processes to a lower priority. This will help your server to run almost normally during an update. When you use the [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to: <a href="http://scottspare.com/bsdfun/?p=75" target="_blank">http://scottspare.com/bsdfun/?p=75</a> for pointing me in the right direction. Compiling port updates can take a while and slow down your server. What you can do is use the &#8216;nice&#8217; utility to force the processes to a lower priority. This will help your server to run <em>almost</em> normally during an update.</p>
<p>When you use the &#8216;nice&#8217; command inside of csh or tcsh, you need to mind that you give the full path to the binary so you dont use the built-in &#8216;nice&#8217; command.</p>
<pre><code># /usr/bin/nice -n 10 {your update command}</code></pre>
<p>What i use is:</p>
<pre><code># /usr/bin/nice -n 10 portupgrade -aRrP</code></pre>
<p>Man page for &#8216;nice&#8217;: <a href="http://www.freebsd.org/cgi/man.cgi?query=nice&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+8.0-RELEASE&amp;format=html" target="_blank">http://www.freebsd.org/cgi/man.cgi?query=nice&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+8.0-RELEASE&amp;format=html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/freebsd8/updating-freebsd-ports-nicely-using-nice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Freebsd-update fetch interupted</title>
		<link>http://www.surlyjake.com/freebsd8/freebsd-update-fetch-interupted/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=freebsd-update-fetch-interupted</link>
		<comments>http://www.surlyjake.com/freebsd8/freebsd-update-fetch-interupted/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 20:38:35 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[FreeBSD8]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Freebsd-update]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=590</guid>
		<description><![CDATA[I lost power while freebsd-update fetch was downloading patches up to 8.0-Release-p3. When the server came back online, I ran a freebsd-update fetch again and it still found two files that needed updating. after running freebsd-update install, got this error: # freebsd-update install Installing updates...gunzip: (stdin): unexpected end of file gunzip: (stdin): unexpected end of [...]]]></description>
			<content:encoded><![CDATA[<p>I lost power while freebsd-update fetch was downloading patches up to 8.0-Release-p3. When the server came back online, I ran a freebsd-update fetch again and it still found two files that needed updating. after running freebsd-update install, got this error:</p>
<pre><code># freebsd-update install
Installing updates...gunzip: (stdin): unexpected end of file
gunzip: (stdin): unexpected end of file
 done.</code></pre>
<p>I guess a patch archive was corrupted. no problem though, just remove the download:</p>
<pre><code># rm -r /var/db/freebsd-update/files</code></pre>
<p>now you can run</p>
<pre><code># freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 2 files... done.

The following files will be updated as part of updating to 8.0-RELEASE-p3:
/boot/kernel/kernel.symbols
/boot/kernel/nfsclient.ko.symbols
# freebsd-update install
Installing updates... done.
</code></pre>
<p>no problems</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/freebsd8/freebsd-update-fetch-interupted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZFS Cant rm: No space left on device</title>
		<link>http://www.surlyjake.com/freebsd8/zfs-cant-rm-no-space-left-on-device/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=zfs-cant-rm-no-space-left-on-device</link>
		<comments>http://www.surlyjake.com/freebsd8/zfs-cant-rm-no-space-left-on-device/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 22:52:42 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[FreeBSD8]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[rm command]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=582</guid>
		<description><![CDATA[If you completely fill up a zfs pool, it wont let you delete files on it. What you CAN do, is pick a scapegoat file to wipe out or remove a snapshot. Then you will be able to use the rm command. what I did: # df -h Filesystem     Size    Used   Avail Capacity  Mounted on [...]]]></description>
			<content:encoded><![CDATA[<p>If you completely fill up a zfs pool, it wont let you delete files on it. What you CAN do, is pick a scapegoat file to wipe out or remove a snapshot. Then you will be able to use the rm command. what I did:</p>
<pre><code>
# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
themirror       39G     39G      0B   100%    /home/jacob/themirror</code>
<code># rm 3gfile
rm: 3gfile: No space left on device</code>
<code># dd if=/dev/null of=3gfile
0+0 records in
0+0 records out
0 bytes transferred in 0.000046 secs (0 bytes/sec)</code>
<code># rm 3gfile</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/freebsd8/zfs-cant-rm-no-space-left-on-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD error in /boot/loader.conf</title>
		<link>http://www.surlyjake.com/freebsd8/freebsd-error-in-bootloader-conf/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=freebsd-error-in-bootloader-conf</link>
		<comments>http://www.surlyjake.com/freebsd8/freebsd-error-in-bootloader-conf/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 21:29:41 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[FreeBSD8]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=572</guid>
		<description><![CDATA[While experimenting with ZFS in FreeBSD, I made some tweaks to the vk.kmem_size variable in /boot/loader.conf. when setting it like this: #/boot/loader.conf vm.kmem_size="1024" everything worked, but I wanted to see what would happen if i doubled it. Unfortunately, setting vm.kmem_size to 2048 kept the FreeBSD kernel from booting. At startup it would just do this: [...]]]></description>
			<content:encoded><![CDATA[<p>While experimenting with ZFS in FreeBSD, I made some tweaks to the vk.kmem_size variable in /boot/loader.conf. when setting it like this:</p>
<pre><code>#/boot/loader.conf
vm.kmem_size="1024"</code></pre>
<p>everything worked, but I wanted to see what would happen if i doubled it. Unfortunately, setting vm.kmem_size to 2048 kept the FreeBSD kernel from booting. At startup it would just do this:</p>
<pre><code>panic: kmem_suballoc: bad status return of 3
cpuid = 0</code></pre>
<p>To fix the erroneous variable setting, I had to :</p>
<p>1. Reboot.</p>
<p>2. Wait for the FreeBSD Boot menu. (the screen that lists Default, ACPI disabled, safe, and single user modes)</p>
<p>3. Press 6 to select &#8220;Escape to loader prompt&#8221;</p>
<p>4. At the loader prompt, type &#8220;show&#8221;. This will provide all the default variable settings. press the spacebar to page down. In my case, at the end, the incorrect variable was: vm.kmem_size=&#8221;2048&#8243;.</p>
<p>5. to switch it back and allow the system to boot, type</p>
<pre><code>set (variable)=(correct value)</code></pre>
<p>in my case this was:</p>
<pre><code>set vm.kmem_size=1024M</code></pre>
<p>6. type</p>
<pre><code>boot</code></pre>
<p>When you are finished with all that fun, you should edit the /boot/loader.conf file back so you don&#8217;t have to do this again.<br />
Thanks to &#8220;crsd&#8221; from the FreeBSD IRC channel for the help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/freebsd8/freebsd-error-in-bootloader-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian eth0, eth1, eth2, in Virtualbox or VMware Virtual machines when copying</title>
		<link>http://www.surlyjake.com/linux/debian-etch/debian-eth0-eth1-eth2-etc-in-vms-when-copying/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=debian-eth0-eth1-eth2-etc-in-vms-when-copying</link>
		<comments>http://www.surlyjake.com/linux/debian-etch/debian-eth0-eth1-eth2-etc-in-vms-when-copying/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 19:44:17 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Debian Etch]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[eth]]></category>
		<category><![CDATA[VM]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=60</guid>
		<description><![CDATA[Debian uses udev. Udev handles mapping MAC&#8217;s to the appropriate /dev/eth(X) file. If you copy a Virtual machine, Udev will remember the MAC address of the old NIC. When you copy the machine, the virtual host usually generates a new MAC address for the VM. Udev will assign the new Device to eth1, eth2, and [...]]]></description>
			<content:encoded><![CDATA[<p>Debian uses udev. Udev handles mapping MAC&#8217;s to the appropriate /dev/eth(X) file. If you copy a Virtual machine, Udev will remember the MAC address of the old NIC. When you copy the machine, the virtual host usually generates a new MAC address for the VM.<br />
Udev will assign the new Device to eth1, eth2, and so on. If you want to change your NIC assignments make Udev forget the old MAC.<br />
In Debian 5 (lenny) it is in this file:</p>
<pre><code>/etc/udev/rules.d/70-persistent-net.rules</code></pre>
<p>In Debian 4 (etch) it is in this file:</p>
<pre><code>/etc/udev/rules.d/z25_persistent-net.rules
</code></pre>
<p>To apply changes in Lenny: &#8220;udevadm trigger&#8221; or &#8220;udevtrigger&#8221; (in Etch)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/linux/debian-etch/debian-eth0-eth1-eth2-etc-in-vms-when-copying/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Karmic install cannot login (gdm freezes) Nvidia</title>
		<link>http://www.surlyjake.com/linux/karmic-install-cannot-login-gdm-freezes-nvidia/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=karmic-install-cannot-login-gdm-freezes-nvidia</link>
		<comments>http://www.surlyjake.com/linux/karmic-install-cannot-login-gdm-freezes-nvidia/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 17:13:46 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu Karmic]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[Karmic]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[nvidia drivers]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=560</guid>
		<description><![CDATA[On a fresh install of karmic, using an Nvidia 7800 GT. When I went to click on my username to log in, some artifacts would appear on the screen, then the system would freeze. hard. Couldnt even ctrl+alt to another console. Installing the Nvidia drivers fixed the issue. To fix it: Do a hard reset [...]]]></description>
			<content:encoded><![CDATA[<p>On a fresh install of karmic, using an Nvidia 7800 GT. When I went to click on my username to log in, some artifacts would appear on the screen, then the system would freeze. hard. Couldnt even ctrl+alt to another console. Installing the Nvidia drivers fixed the issue. To fix it:</p>
<ol>
<li>Do a hard reset on the machine</li>
<li>When you arrive at the GDM screen, DO NOT CLICK ON ANYTHING.</li>
<li>press CTRL + ALT + F5. Your screen will switch over to a text console.</li>
<li>Log in.</li>
<li>Install the Nvidia glx driver</li>
<pre><code>sudo aptitude install nvidia-glx-new</code></pre>
<li>Reboot the machine.</li>
<pre><code>sudo reboot</code></pre>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/linux/karmic-install-cannot-login-gdm-freezes-nvidia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 32 (x86) or 64 (AMD64) detection in batch files</title>
		<link>http://www.surlyjake.com/windows/windows-32-x86-or-64-amd64-detection-in-batch-files/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=windows-32-x86-or-64-amd64-detection-in-batch-files</link>
		<comments>http://www.surlyjake.com/windows/windows-32-x86-or-64-amd64-detection-in-batch-files/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:53:04 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[batch files]]></category>
		<category><![CDATA[processor architecture]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=556</guid>
		<description><![CDATA[While there are a lot of ways to detect for a 64 bit version of windows. you can test for %programFiles(x86)%, but handling the output and writing the IF comparisons is messy. In Batch files, you can easily check for architecture by using the &#8220;processor_architecture&#8221; variable. x86 versions of windows will have this set to [...]]]></description>
			<content:encoded><![CDATA[<p>While there are a lot of ways to detect for a 64 bit version of windows. you can test for %programFiles(x86)%, but handling the output and writing the IF comparisons is messy.</p>
<p>In Batch files, you can easily check for architecture by using the &#8220;processor_architecture&#8221; variable. x86 versions of windows will have this set to &#8220;x86&#8243;, and x64 versions &#8220;x64&#8243;. Heres an easy example:</p>
<pre><code>@echo off
IF %processor_architecture% == AMD64 echo This is a 64-bit version of windows
IF %processor_architecture% == x86 echo this is a 32-bit version of windows.
pause</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/windows/windows-32-x86-or-64-amd64-detection-in-batch-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uninstall ALL Versions of WinZip Batch Script</title>
		<link>http://www.surlyjake.com/windows/uninstall-all-versions-of-winzip-batch-script/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=uninstall-all-versions-of-winzip-batch-script</link>
		<comments>http://www.surlyjake.com/windows/uninstall-all-versions-of-winzip-batch-script/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 20:43:34 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[batch script]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[taskkill]]></category>
		<category><![CDATA[windows management instrumentation]]></category>
		<category><![CDATA[wmic]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=545</guid>
		<description><![CDATA[I have been struggling with this for quite a while, and ran into a lot of issues with all of the different versions on our network. There are people with 100 line .vbs scripts to do this, and I think this is much simpler: @echo off REM REM REM    Detects winzip and silently uninstalls REM   [...]]]></description>
			<content:encoded><![CDATA[<p>I have been struggling with this for quite a while, and ran into a lot of issues with all of the different versions on our network. There are people with 100 line .vbs scripts to do this, and I think this is much simpler:</p>
<pre><code>@echo off
REM
REM
REM    Detects winzip and silently uninstalls
REM    There is a un-stoppable pop-up window. so this will kill
REM    all instances of  IE after the UN-installation.
REM
REM
REM
taskkill /F /IM wzqkpick.exe
wmic product where "name like '%%winzip%%'" call Uninstall
REM
REM This section is for WinZip <12
REM
If Exist "%programfiles(x86)%\Winzip\winzip32.exe" GOTO 64
If Exist "%programfiles%\Winzip\winzip32.exe" "%programfiles%\WinZip\Winzip32.exe" /Uninstallx
taskkill /F /IM iexplore.exe
GOTO :END
:64
"%programfiles(x86)%\WinZip\Winzip32.exe" /Uninstallx
taskkill /F /IM iexplore.exe
:END</code></pre>
<p>For getting rid of WinZip 12, the magic happens in the 'wmic' line. It searches all of the installed product's names for "winzip" and will uninstall anything it finds. This only works for products that use MSI's. If you ran this outside of a batch file, you will have to use a single % percentage sign instead of the %% double percentage sign... Windows scripting sucks, and that's just the way it is. Same thing that happens in "FOR" loops. </p>
<p>I never knew anything about the Windows management instrumentation control (wmic) until now, but I will be sure to exploit it's features. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/windows/uninstall-all-versions-of-winzip-batch-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->