Here are a couple of tips useful to remember when doing development on Windows.
First, when using a Japanese keyboard, you might want to set up correctly a JP106 keyboard.
Windows does not use PATH, but Path to detect the folders where binaries are automatically looked for. In order to modify it, a simple method consists in doing.
Installing emacs on Windows is damn easy as GNU proposes packages to deploy here.
7zip is essential for your survival as it is extrenely useful for decompressing things that you need to install like emacs.
As an antivirus, clamwin is an open source solution free of use.
msysgit provides an excellent way to have a Unix-like environment on Windows. Home has as well on its branch windows, scripts already compatible with Windows that are derived from the ones in the Unix/Linux branches. This contains as well Perl and Bison. Perl is not compatible with MSVC so be sure to rename it to something else such as there are no conflicts with Active State which is solid rock and used with MSVC (msysgit’s Perl does not work properly because of a lack of libraries for Win32).
Environment variables can be viewed with command:
Command to launch something not in Path with cmd.exe:
cmd /c c:\path\to\bin\command --args
Kick an installation with command line:
msiexec /i product.msi PARAM1=$VAL1 PARAM2=$VAL2
To apply a minor update:
msiexec /fvomus updated_product.msi
Getting the version number of a binary or library can be tedious, first create the following vbscript, called for example my_script.vbs:
Set args = WScript.Arguments Set objFSO = CreateObject("Scripting.FileSystemObject") Wscript.Echo objFSO.GetFileVersion(args.Item(0))
Then run this command:
cscript /nologo my_script.vbs file_to_check.exe
Print list of processes running as tasks.
Print list of processes running given executable.
tasklist /FI "IMAGENAME eq prog.exe"
Print a given service listed in a task.
tasklist /svc /fi "SERVICE eq $SERVICE_NAME"
Kill a process.
taskkill /PID $PID_NUMBER /f
Start or stop a service.
sc start|stop $SERVICE_NAME
Query a service to test it.
sc query $SERVICE_NAME
Deny access to a folder for a given user.
icacls c:\to\path /deny %USERNAME%:(D)
Check access permissions to this path.
rd /S /Q c:\to\path