lundi 30 mars 2015

Check if Windows file is redirected to itself

I'm trying to figure out how I can test if a file is being redirected to itself, e.g. .\command.exe file1 > file1


In the *nix world, I'd just use something like this:



// Language agnostic...
if (file_dev == out_dev && file_ino == out_ino) {
printf("%s\n", "same file!");
}


But in Windows, if I try to do this:



// This (language) is Go...
// create fileStat...

// now stat stdout
outStat, err := os.Stdout.Stat()
// error check

if os.SameFile(fileStat, outStat) {
fmt.Println("same file!")
}


...I get the IncorrectFunction error.


I read this (http://ift.tt/1OT8BxL) question, and from what I gather you can't stat stdout?


This is a mostly language agnostic question -- I can translate whatever to Go (the language I'm using). I'm mostly concerned about how, using Windows' ABI (API?), I would find where stdout is being redirected to.


Aucun commentaire:

Enregistrer un commentaire