Sponsored Content
Top Forums Shell Programming and Scripting Restoring a file to its original location Post 302774347 by tastybrownies on Friday 1st of March 2013 04:16:34 PM
Old 03-01-2013
Restoring a file to its original location

Hello everyone,

I am attempting to make a recycling bin type application in shell script (tcsh). I have the whole part of the application done where someone can recycle files from one location to the recycling bin (the lower half of the program), this is not a problem. However I wanted to make another option if the user typed in something like recycle -cleanup as argument 1 it would go into a loop to check each file currently in the recycling bin and ask the user what to do. If the user chooses d, it deletes it. If they choose s it skips it, and lastly if they choose r I want to restore it. This is where the problem lies.

I am very inexperienced with shell programming in general so I am not even sure if the way I'm doing the -cleanup thing is right. But, is there a way to know the original file location so I can just put the file back? First check that there is not a file with a duplicate name in the old directory, then if not move it back. As of now I have no clue how to do this and any help would greatly be appreciated!

Thank you! This is what I have so far:

Code:
#!/bin/tcsh -f

if ["$1" == "-cleanup" ] then

set FILES=/$HOME/.garbage/*
set userChoice = " "
foreach file ( $FILES )
  echo "Processing $file file..."
  # take action on each file. $f store current file name

  echo "$file delete/restore/skip? (d/r/s)"
  set userChoice = $<

  if userChoice == "d" then
    rm $file
    echo "$file deleted!"
  else if userChoice == "r" then
   #restore to previous spot
   echo "$file restored!"
  else if userChoice == "s" then
   # do nothing
  else
   echo "You entered an invalid choice"

  endif
 
end
else


set n = 1
set size = 0
mkdir -p ~/.garbage

while ($n <= $#argv)
 if ( -d $argv[$n] ) then
   echo "$argv[$n] is a directory and cannot be removed"
 else
    
      
     mv $argv[$n] ~/.garbage
     
     echo "The file moved to the garbage directory was: "$argv[$n] "\n"
     set size = `du ~/.garbage | cut -f1`
  
 endif 
@ n++
end

  echo "The garbage bin's size is:" $size " bytes."
endif

---------- Post updated at 04:16 PM ---------- Previous update was at 03:54 PM ----------
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Restoring a file from Tape

help please i have "inherited" a Sco Server (the administrator departed in a hurry...yes we are chasing him..) and haven't used Unix for 8 years. i have a file that i need to retrieve from a tape. i have been able to find the file on tape using the cpio -ivt command. however... the problem I... (3 Replies)
Discussion started by: mfischer
3 Replies

2. Solaris

Restoring TAR'd file to different location

Is it possible to restore a TAR'ed file off of a tape to a location other than the original location? If so, how? (The MAN pages give examples of how to restore only to the originating location.) Thanks!! (1 Reply)
Discussion started by: FredSmith
1 Replies

3. Shell Programming and Scripting

Restoring a file

I'm new to Unix and have just wrote a little program to move files to a recycle bin (a Directory i created) and restore them. The problem is that i need to keep track of all the full filenames so that i can restore them to the right place. I did this by creating a file called delreg and putting the... (4 Replies)
Discussion started by: zoolz
4 Replies

4. Shell Programming and Scripting

Put one string from one location to another location in a file

Hi Everyone, I have 1.txt here a b c' funny"yes"; d e The finally output is: here a b c d e' funny"yes"; (1 Reply)
Discussion started by: jimmy_y
1 Replies

5. Shell Programming and Scripting

restoring file to its default location...

Hello everyone, I am new to unix shell. I have a file called Path.txt....and i have data in that as 1 abhi 2 avi 3 ash so on..... 1 ,2 ,3 is the... (2 Replies)
Discussion started by: AbhijitIT
2 Replies

6. Shell Programming and Scripting

Search Files from Array and link to original location in Perl

Hello, Question is related to Perl: I need to search few of the files from the array of file names. And after grepping the file names from an array I need to link these files to original location. The original location in this case is ref_path as input from the user. ##$ref_path is... (3 Replies)
Discussion started by: aarora1
3 Replies

7. Shell Programming and Scripting

File created in a different location instead of desired location on using crontab

Hi, I am logging to a linux server through a user "user1" in /home directory. There is a script in a directory in 'root' for which all permissions are available including the directory. This script when executed creates a file in the directory. When the script is added to crontab, on... (1 Reply)
Discussion started by: archana.n
1 Replies

8. Shell Programming and Scripting

How to copy a file from one location to another location?

I have file file1.txt in location 'loc1'. Now i want a copy of this file in location 'loc2' with a new file called test.txt. Please help me how to do this in shell script. (1 Reply)
Discussion started by: vel4ever
1 Replies

9. UNIX for Dummies Questions & Answers

how to copy files and record original file location?

:EDIT: I think my post name should have been labeled: how to copy files and record original file location. not "retain". Hello, this is my first post! I searched the forums a lot before posting, but was unable to answer my question. Here's my problem: There are several hundred text files... (4 Replies)
Discussion started by: willie8605
4 Replies

10. Shell Programming and Scripting

How to find a existing file location and directory location in Solaris box?

Hi This is my third past and very impressed with previous post replies Hoping the same for below query How to find a existing file location and directory location in solaris box (1 Reply)
Discussion started by: buzzme
1 Replies
profile(4)						     Kernel Interfaces Manual							profile(4)

NAME
profile - set up user's environment at login time DESCRIPTION
If the file exists, it is executed by the shell for every user who logs in. The file should be set up to do only those things that are desirable for every user on the system, or to set reasonable defaults. If a user's login (home) directory contains a file named that file is executed (via the shell's before the session begins. files are useful for setting various environment parameters, setting terminal modes, or overriding some or all of the results of executing EXAMPLES
The following example is typical (except for the comments): # Make some environment variables global export MAIL PATH TERM # Set file creation mask umask 22 # Tell me when new mail comes in MAIL=/var/mail/myname # Add my /bin directory to the shell search sequence PATH=$PATH:$HOME/bin # Set terminal type echo "terminal: c" read TERM case $TERM in 300) stty cr2 nl0 tabs; tabs;; 300s) stty cr2 nl0 tabs; tabs;; 450) stty cr2 nl0 tabs; tabs;; hp) stty cr0 nl0 tabs; tabs;; 745|735) stty cr1 nl] -tabs; TERM=745;; 43) stty cr1 nl0 -tabs;; *) echo "$TERM unknown";; esac A more complete model can be found in FILES
SEE ALSO
env(1), login(1), mail(1), sh(1), stty(1), su(1), environ(5), term(5). profile(4)
All times are GMT -4. The time now is 04:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy