Compensating time shift / Changing File Creation time using Windows Powershell

I don’t want to blame the time shift 2x a year. At least as long as I do not forget to change the time on my camera as well! As I am doing most of my photography on hikes and geo tag them afterwards, It makes quite a difference if the file creation time is right or wrong.

This year I forgot to change it on the camera and needed to bulk-change the file time later. Luckily this is pretty easy using Windows Powershell and the Windows PowerShell ISE (Integrated Scripting Environment):

$files = Get-ChildItem "C:\Users\[....]\*.arw"
foreach ($f in $files){
    $d1 = [System.IO.File]::GetCreationTime($f.FullName)
    $d2 = $d1.addHours(1)
	[System.IO.File]::SetCreationTime($f.FullName, $d2)
    echo $d1 
    echo $d2
    echo ---
}

Just copy it into the ISE, execute, done.

How To Quickly delete large folders in Windows

Deleting folders with a huge amount of files can be tedious in Windows Explorer: You might end up in watching a progress bar preparing and deleting a lot of files. Even if you don’t want the files to be moved to trash.

If the files should just be deleted, this can be done easier with the command line:

cd foldername
DEL /F/Q/S *.* > NUL
cd ..
RMDIR /Q/S foldername

That’s it!

A lot of explanation / evaluation and even a Context-Menu-Shortcut can be found at this Ghacks article.

Where to install custom / portable programs in Windows10/8.x?

There are a couple of programs that cannot be installed / put into the regular locations (c:\Program Files and c:\Progam Files (x86)) as they cannot be run in non-administrator mode. So – where should you put / install those programs?

Fortunately Windows comes with a good place for those programs. Just put them into %LOCALAPPDATA%\Programs which expands to C:\Users\...\AppData\Local\Programs.
No need to tweak permissions (as it is in your user directory).

Downside: If you are part of a large domain (which you will not be with your private computer), your programs will not be synchronized to other computers where you log on. If you would like that you would have to place it in %appdata% (which expands to C:\Users\...\AppData\Roaming). But it would also mean that possibly large installations are synchronized. Don’t blame Windows if you are suffering from long login-times then!

In case you want to go deeper into the differences between Roaming, Local and LocalNow, have a look at the answers at superuser.com:

Roaming. (%appdata%) contains data that can move with your user profile from PC to PC – because data is synced with a server (e.g. web browser favorites or bookmarks.

Local. (%localappdata%) contains data that can’t move with your user profile. This data is typically specific to a PC or too large to sync with a server (e.g. temporary files).

LocalLow. (%appdata%/…/locallow) contains data that can’t move, but also has a lower level of access. E.g., a web browser in protected or safe mode, will only be able access data from the LocalLow Folder.

Windows Tomcat start failed command 127.0.0.1 could not be found

I just installed Tomcat 7 on my Windows machine and tried to fire it up through Netbeans. But instead of a running server, I just got an error message that command 127.0.0.1 could not be found (Localized error message: Der Befehl “127.0.0.1” ist entweder falsch geschrieben oder konnte nicht gefunden werden.).

I remember that I read about it in a Tomcat bugtracker (but can’t find it any more). Well the solution is pretty simple:
Just open [tomcat home]\bin\catalina.bat and remove the “-characters from lines 196 and 201 (in the code snippet below it’s line 1 and 6):

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

if not "%LOGGING_MANAGER%" == "" goto noJuliManager
set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%