This will enable Drag & Drop to any script. You can place one of them in SendTo folder and use it afterwards.
Registry Export:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ShellFile]
[HKEY_CLASSES_ROOT\ShellFile\Shell]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open\Command]
@=hex(2):43,00,3a,00,5c,00,70,00,61,00,74,00,68,00,5f,00,65,00,78,00,74,00,5c,\
00,62,00,61,00,73,00,68,00,2e,00,65,00,78,00,65,00,20,00,2d,00,63,00,20,00,\
22,00,73,00,6f,00,75,00,72,00,63,00,65,00,20,00,24,00,30,00,3b,00,72,00,65,\
00,61,00,64,00,22,00,20,00,25,00,31,00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\ShellFile\ShellEx]
[HKEY_CLASSES_ROOT\ShellFile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"
The hex part actually is "C:\cygwin\bin\bash.exe -c "source $0;read" %1 %*"
which gets encoded in the export.
You probably will want to remove the read
after testing, so you can write scripts that just perform a task without leaving an open window. If you need this for single scripts, you can always add it add their end.
Use assoc .ext=ShellFile
after importing to link any file extension you want with this functionality. The DropHandler in this example works for Windows XP and Windows 7 (probably others too) and basically means "run the command, with all dropped filenames as arguments".
Use this as a script (echotest.ext
) to test basic functionality:
echo $0 $*;
Best Answer
source
is a shell built-in command. Thewhich
command looks for binaries on thePATH
, like in /usr/bin, /bin, /sbin, etc. but you won't find any built-in commands in a separate binary.Also, having the
source
command in a shell script does not result in thesource
propagating up to your current shell when you run it.sh blah.sh
whereblah.sh
hassource
in it will not actually source the contents of the file into your interactive shell. That's not how sourcing works.If you want this sourcing of the tensorflow activate script to happen every time you open a new shell, you need to edit
~/.bashrc
or ~/.profile(or other files, depending on what your shell is and how it's configured) and put the
source` command directly in there.P.S. - your question title is very confusing and looks incomplete. Take some time to edit, revise and clean up your post, or you run the risk of someone downvoting it :P I'm tempted to do so myself, but I wrote an answer, so I'm a little bias...