Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Simple Drag-Drop Text File Manipulator

  1. Mar 12, 2007 #1

    Sorry for the ambiguous title.

    I am looking to write a program that, upon dragging and dropping a text file onto it in Windows, it will do some pre-determined manipulation to the text, like deleting a certain amount in the beginning, replacing spaces with tabs, etc.

    If you couldn't guess, I'm working with a machine that outputs data in a difficult to use format with a lot of unneeded information. I want to be able to make a program that can quickly manipulate that data and get it into a form I can stick in Excel or Matlab. I've been doing it manually and it's a real pain, especially when I know a program could do it.

    I've seen such programs before, but I don't know how to make them myself. I know C, Classic Fortran (70) and some C++, though I'm a bit rusty.

    If anyone knows the easiest way to make something like this, or perhaps point me in the direction of instructions or even example code, I would most appreciate it.

    Thanks in advance.

  2. jcsd
  3. Mar 12, 2007 #2


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    A script in Perl or Python might be the best for the text manipulation.
    Usually, one invokes this on the command line. You'll have to install a Perl or Python package.

    In Windows, you can choose to open some filetypes with programs of your choosing... in addition to the default application.

    If you truly want drag and drop (as opposed to right-clicking and selecting the alternate application via "Open with..."), you can try to use something that provides you with some of those GUI features, like http://www.autohotkey.com/ or http://www.autoitscript.com/autoit3/, which could call the Perl or Python script.

    There are surely other methods (e.g. Visual BASIC, VBscript, Java, Javascript, etc...).. but the above tools are free, easy (for me) to use, and useful for lots of other general purpose tasks. (Cygwin provides Perl and Python packages in a UNIX-like environment... but Cygwin requires a substantial installation and some setup. Cygwin is great!)
    Last edited: Mar 12, 2007
  4. Mar 12, 2007 #3
    I actually have cygwin on my computer already so I might try it out. I've been considering learning Python. Thanks for the tips!
  5. Mar 12, 2007 #4


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Since you have cygwin, you might also consider awk and sed. It really depends on the nature of your text manipulations.

    I agree that this would be a great opportunity to learn some Python.
  6. Mar 13, 2007 #5
    When you drop and drag an item into a program, doesn't it use that as an argument to that program?
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?