Page 1 of 1
Open file when full path is unknown. (Flash Cookies)
Posted: 26 Jan 2010 15:29
by JasonC
Hello everyone.
This is my first visit to the site and i'm not very advanced with batch files, so i'm sure i'll need all the help i can get.
What i'm trying to do is open a path to a file stored in Application Data (or AppData for vista) where flash cookies are stored. This file resides in %APPDATA%\Macromedia\Flash Player\#SharedObjects\<random string>\www.example.com\eg.sol
I want this batch file to work on most windows computers so i need a way to get past the <random string>, containing characters and numbers, and open the "eg.sol" file.
Is there a way this can be done, or is there a way to retrieve this random string automatically and load it automatically into the path to the file?
Many thanks,
Jason
Re: Open file when full path is unknown. (Flash Cookies)
Posted: 26 Jan 2010 16:33
by aGerman
Hi JasonC.
Code: Select all
@echo off &setlocal
set "root=%APPDATA%\Macromedia\Flash Player\#SharedObjects"
set "folder=www.example.com"
set "file=eg.sol"
pushd "%root%"
for /f "delims=" %%a in ('dir /ad /b /s^|findstr /l /i /e /c:"\%folder%"') do set "xPath=%%a"
popd
if not defined xPath (
echo Folder not found
pause
goto :eof
)
dir /b "%xPath%\%file%" >nul || (
pause
goto :eof
)
echo Entire path:
echo "%xPath%\%file%"
pause
So far. But which app do you wanna open this *.sol file?
Regards
aGerman
Re: Open file when full path is unknown. (Flash Cookies)
Posted: 27 Jan 2010 07:28
by JasonC
Thanks aGerman.
I do not actually want to open the .sol file but instead upload it to an FTP server in an all-in-one batch script.
I looked around the net for a while and found a script that does manage to automate ftp uploads in one batch file but when i tried using the 'put' command with an alias such as '%APPDATA%' it would just say that the directory was not found.
EDIT: I actually found this script at this site here
http://www.dostips.com/DtTipsFtpBatchScript.php under the section 'FTP - Simple Single Batch - FTP script and batch in a single file'
The "FTP -s:ftpscript.txt" option executes a FTP script wheres "%~f0" resolved to the name of the running batch file. "GOTO:EOF" ends the batch script and makes sure the FTP script doesn`t run as part of the batch.
Good: You end up with only one file that contains the batch script and the FTP script combined.
Minor flaw: The batch command in the first line causes an "Invalid command." error when executed in FTP context, however the FTP execution will continue.
Code: Select all
@ftp -i -s:"%~f0"&GOTO:EOF
open example.com
username
password
!:--- FTP commands below here ---
lcd c:\MyLocalDirectory
cd public_html/MyRemoteDirectory
binary
mput "*.*"
disconnect
bye
Is there any way you could adapt this code to work with the solution you made earlier?
Thanks again.
Re: Open file when full path is unknown. (Flash Cookies)
Posted: 27 Jan 2010 15:08
by aGerman
Hi JasonC.
I don't know much about ftp and I can't test it. But the principle will be clear to me.
IMHO you should write a temporary ftp-script by batch. Probably as following.
Code: Select all
@echo off &setlocal
set "root=%APPDATA%\Macromedia\Flash Player\#SharedObjects"
set "folder=www.example.com"
set "file=eg.sol"
set "ftpscript=%temp%\tmp.ftp"
pushd "%root%"
for /f "delims=" %%a in ('dir /ad /b /s^|findstr /l /i /e /c:"\%folder%"') do set "xPath=%%a"
popd
if not defined xPath (
echo Folder not found
pause
goto :eof
)
dir /b "%xPath%\%file%" >nul || (
pause
goto :eof
)
REM write the ftp-script
(
echo open example.com
echo username
echo password
echo lcd "%xPath%"
echo cd public_html/MyRemoteDirectory
echo binary
echo put "%file%"
echo disconnect
echo bye
)>"%ftpscript%"
REM call the ftp-script
ftp -i -s:"%ftpscript%"
REM delete the ftp-script
del "%ftpscript%"
pause
Of course you have to personalize it.
Regards
aGerman
Re: Open file when full path is unknown. (Flash Cookies)
Posted: 28 Jan 2010 07:34
by JasonC
Thanks again for all your amazing help.
I will test it later this evening and report back here. Luckily i have used ftp before so i can easily manage to change some of the variables.