Windows Batch Copy file by filename - windows

The file I want to copy is located in "C:\Report\" and the filename I want to copy is something like "rptXXXX.txt".
What I want to do is write a batch that copy the file that the filename is start with "rpt".
The destination folder is "F:\Project\Report\".

This should work, you can use an * as a wildcard:
xcopy e:\foo\rpt*.txt e:\foo2
or in your case,
xcopy C:\Report\rpt*.txt F:\Project\Report\

Related

Copy Contents From Folder Using Wildcard On The Directory

I have a directory which contains CSV files needing to be moved to another directory:
C:\Users\JohnSmith\Desktop\Testing\report-20180819040000-20180826040000-4
We receive a new file weekly where the dates in the directory name will be updated. I want to create a batch file to copy this data using a wildcard on report* but I am running into some issues.
The wildcard appears to work without any issues when I first navigate to:
C:\Users\JohnSmith\Desktop\Testing\
then use:
dir report*
It also works fine when I navigate to:
C:\Users\JohnSmith\Desktop\Testing\
then run
copy * C:\Users\JohnSmith\Desktop\Testing\Destination
My goal is to be able to run something simple in my batch file like the below:
copy C:\Users\JohnSmith\Desktop\Testing\report* C:\Users\JohnSmith\Desktop\Testing\Destination
Whenever I try running the above, I receive the following error:
The system cannot find the file specified.
0 file(s) copied.`
Does anyone have any suggestions?
Use For /D with a wildcards for your directory name, then you can use Copy with a wildcard too!
From the Command Prompt:
For /D %A In ("%UserProfile%\Desktop\Testing\report-*-*-*") Do #Copy "%A\*.csv" "%UserProfile%\Desktop\Testing\Destination">Nul 2>&1
From a batch file:
#For /D %%A In ("%UserProfile%\Desktop\Testing\report-*-*-*") Do #Copy "%%A\*.csv" "%UserProfile%\Desktop\Testing\Destination">Nul 2>&1
Alternatively you could do it directly at the Powershell Prompt:
Cp "$($Env:UserProfile)\Desktop\Testing\report-*-*-*\*.csv" "$($Env:UserProfile)\Desktop\Testing\Destination"

How to change the extention to all file in a directory using windows batch script

I need to change the file extensios of a directoy. If I do it manually so it will take more time. So is there any windows shell command or batch file to do this?
Like all .html file in a folder will be .php?
make a .bat in a folder and put in it this code
#ren *.Old_extension *.New_Extension
Also if you want to change more extensions just copy the lane and paste it under edited like this
#ren *.Old_extension *.New_Extension
#ren *.Old_extension2 *.New_Extension2
Yes, You can easily do this Command Prompt
Suppose, You have a Folder so many .TXT files in your folder.
Open that folder and just press SHIFT + RIGHT click and select Open Command Windows here
After that type the following command to change all .txt file to .doc
ren *.txt *.doc
It will change all text files in doc file
That's all

How to use WinRAR through Batch?

I need some help with a batch file because I am stumped on WinRAR in Batch, as I haven't done/used it before.
Here is the TREE of my Folders including the batch file:
Each RAR file has the same Directory folder name("vegies" folder).
I would like to be able to extract/copy all folders/subfolders inside of each .rar from "Example/Program_Ex/vegie" back one directory into "Example/Program_Ex/vegies" (Dont forget the folder "vegies" already exists in each RAR which I cannot change as these automatically update themselves.)
So basically with a batch file I would like to:
extract "Example/Program_Ex/vegie/random.rar" to "Example/Program_Ex/vegies"
extract "Example/Program_Ex/vegie/random2.rar" to "Example/Program_Ex/vegies"
extract "Example/Program_Ex/vegie/random3.rar" to "Example/Program_Ex/vegies"
extract "Example/Program_Ex/vegie/random4.rar" to "Example/Program_Ex/vegies"
extract "Example/Program_Ex/vegie/random5.rar" to "Example/Program_Ex/vegies"
I also am trying to not specify a drive, more or less because the batch file will be in the correct folder instead using something such as "CD" or "PATH"?
I have looked at some examples around the web and on here of coarse, but I am still unsure the best way to go about this.
The closest example I can find would be this:
#echo off
set destinationRAR=destination_winrar_file
set source=source_folder_path
"C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -esh -ibck -m0 -r -t %destinationRAR% %source%
(Above from http://fredy-invayne.blogspot.com.au/2013/05/example-winrar-batch-file.html)
Can anyone help give examples on how to implement my question please?
#echo off
for %%a in (
"%~dp0Example\Program_Ex\vegie\*.rar"
) do unrar x "%%~fa" -w "%~dp0Example\Program_Ex" -o+
For each file in the indicated path under the folder in where the batch file is stored, extract the content of the file indicating target folder and selecting that existing files must be overwritten.
You can extract all the archives with a single invocation of WinRAR:
"C:\Program Files\WinRAR\WinRAR.exe" x "%~dp0Program_Ex\vegie\random*.rar" "%~dp0Program_Ex\"
The last argument in the above command line specifies the target folder for all the archives. You may want to add the -o+ switch (must go just after x) to specify that all files should be overwritten:
"C:\Program Files\WinRAR\WinRAR.exe" x -o+ "%~dp0Program_Ex\vegie\random*.rar" "%~dp0Program_Ex\"
If you omit it, the archiver will ask you what to do with existing files, if any.

How to copy war file into a particular destination using batch command?

SET src="C:/Users/Neonous/Desktop/New folder/Package/Project-1.war"
SET dest="C:/Program Files/Apache/webapps"
xcopy %src% %dest% /E
I tried the above script to copy war file. its extracting and creating some unwanted directories in to the destination location.
i want to copy the zipped file.... as such Project-1.war.
Simple :
copy %src% %dest%\Project-1.war
I don't know why you want to use xcopy if you want to copy the file only.
If you want to do something else please specify.
Also use backslash" \ " to separate directories and specify file name for targeted destination.
Hope this helped,
Yours Mona.

Batch File to store backup files with timestamps

I have two folders in the same drive. I want to create backup of an access database. I need to copy the main file, append the name with the date and time and store it in a different folder.
Source Folder: G:\PMO\Talent Mgt\Data
Source file: Talent_Management_Data.accdb
Destination File: G:\PMO\Talent Mgt\Archive\Talent_Management_Data.accdb_20120101
Any suggestions?
You can achieve this by using for command to execute copy for each file. A simple batch file would be:
cd "G:\PMO\Talent Mgt\Data"
for %%A in (*.accdb) do copy %%A ..\Archive\%%A_%date:-=%

Resources