find string in file and copy the folders
I have a text file as below, i need to detect/find/extract the file names inside "<" and ">", and then search for that filename in another folder and copy it to a new folder. and these with any occurrence.
#include <SD.h> // Se inclye la libreria SD #include <SPI.h> // Se incluye la libreria para la comunicacion SPI #include <TMRpcm.h> // Se incluye la libreria para reproducir .WAV #include <HCSR04.h> #define SD_ChipSelectPin 4 // Selecciona la tarjeta SD. Puede ser cualquier pin que NO se esté utilizando ya. TMRpcm Audio; // Se crea un objeto para usar las funciones de la libreria TMRpcm UltraSonicDistanceSensor distanceSensor(7, 8); // Initialize sensor that uses digital pins 13 and 12. bool boton_A = 0; //Variable que guarda el estado del pulsador de cambiar de cancion bool boton_B = 0; //Variable que guarda el estado del pulsador de pausar int song = 0; //Se inician en 0 para que cuando se incremente la cancion al principio se reproduzca la cancion 1 int last_song = 0; //Almacena el número de la ultima cancion int pos; // posicion detectada
in that case i need the bat to copy SD.h SPI.h TMRpcm.h and HCSR04.h to a new folder. i tried a lot but without success. I don't put my previous attempts because they're very basic stuff. And in some moment I realized I need help.
You can do something like that , just modify the variables to yours :
@echo off Title find string in file and copy to a new folder using batch script Rem You should modify the variable InputFile to yours set "InputFile=Test.txt" Set "OutPutFile=Output.txt" Call :Extract "%InputFile%" "%OutPutFile%" Rem You should modify the variable Source_Folder to yours Set "Source_Folder=E:\StackOverflow\" Rem You should modify the variable Target_Folder to yours Set "Target_Folder=E:\TargetFolder\" If Not Exist "%Target_Folder%" MD "%Target_Folder%" @for /f "delims=" %%a in ('Type "%OutPutFile%"') do ( @for /f "delims=" %%b in ('Dir /b /s "%Source_Folder%" ^|find /I "%%a"') do ( echo "%%~fb" Copy /Y "%%~fb" "%Target_Folder%" ) ) pause Exit ::----------------------------------------------------- :Extract <InputFile> <OutPutFile> ( echo Data = WScript.StdIn.ReadAll echo Data = Extract(Data,"\<(\S+)\>"^) echo WScript.StdOut.WriteLine Data echo Function Extract(Data,Pattern^) echo Dim oRE,oMatches,Match,M,i echo set oRE = New RegExp echo oRE.IgnoreCase = True echo oRE.Global = True echo oRE.Pattern = Pattern echo set oMatches = oRE.Execute(Data^) echo If not isEmpty(oMatches^) then echo For i = 0 To oMatches.Count - 1 echo M = M ^& oMatches(i^).SubMatches(0^) ^& vbcrlf echo Next echo End if echo Extract = M echo End Function )>"%tmp%\%~n0.vbs" cscript //nologo "%tmp%\%~n0.vbs" < "%~1" > "%~2" If Exist "%tmp%\%~n0.vbs" Del "%tmp%\%~n0.vbs" exit /b ::-----------------------------------------------------
Grep command to find files containing text string and move them , As always, beware of grep -r . -r is not a standard option, and in some implementations like all but very recent versions of GNU grep , it follows symbolic links� Findstr is a powerful command that you may use to search for strings in files or to filter command line output. You may use it to scan entire directory structures or drives for files that match the selected string or part of it, and to find specified text in command line outputs quickly.
Perhaps this is the sort of thing you're looking for:
@For /F "Tokens=2 Delims=<>" %%G In ( '^""%__AppDir__%findstr.exe" /IRC:"^#include[\ ]*<.*\.h>" "S:\omewhere\A Text File.txt"^"' )Do @"%__AppDir__%xcopy exe" "X:\Another Folder\%%G" "Y:\A New Folder\" /Y>NUL 2>&1
Please modify the locations/file name/directory names as necessary.
I will not be expanding upon anything in the above, as you did not show any indication that you had made any attempt at your task before asking here. If you want to know how a particular command works, open a Command Prompt, (
cmd.exe), window and enter the command name followed by the standard help option
findstr /?, and
Use Notepad++ to find text in all files of a folder, Find What: this is the search string that you want Notepad++ to find in the files. Directory: this is the root folder that contains all the files that you� You can also specify a folder for finding a specific text string in multiple files. findstr /M “reader” “C:\Users\Usman\Desktop\*” This will give a list of all files with full path containing the text string “reader”.
command line, Find file in source_dir and loops over the list. For each file runs grep in text.txt . It is necessary to get the file name using basename command to� [Solved] PowerShell search string and copy file Hi all, I'm preparing a script to find some text inside the files ('test' and 'test1' are the keywords in this scenario) and once all the files have been found, they should be copied to a different location while maintaining the folder structure.
How to Search for Files and Folders via SSH, For example, to search for a file called myFile.txt under the current folder (and all instructs grep to look for the string “database” in the configuration.php file and� I have been asked to replace some text strings into multiple files. I do not necessarily know the extension of the possible target files and I don't know their location either. So far I have managed to recursively browse into the directory ( get-ChildItem -recurse ) and find the string I was looking for with get-content and select-string:
How to find the files in a folder containing specified string and move , If you like those results, copy and pasted the output back OR just remove the @ echo term. The command presumes you are starting already in the top of the� If you have a bunch of text files in a directory hierarchy, e.g, the Apache configuration files in /etc/apache2/ and you want to find the file where a specific text is defined, then use the -r option of the grep command to do a recursive search.
Select Search > Find in Files from the menu. If you like keyboard shortcuts better, use Ctrl-Shift-F to open the search window instead. The find in files configuration window is pretty easy to use as you can ignore most options if you don't require them. What you need to configure are the following fields: Find What: this is the search string that you want Notepad++ to find in the files. Directory: this is the root folder that contains all the files that you want searched.
- Please edit your question and add what did you tried as code until now !
- My attempt was a fail. I try code I see on some sites but always getting some error. I try yours and share result. Thanks
- your code is a huge step on the rigth direction!!! a mannaged to run it and it find the files and copies them but also copies every file containing for example the letters "sd" but it is something ! i need to investigate and work on it. thanks!!!
- i made a lot of attemps but i can get it to work . of course i know and understand some cmd commands , i read from tutorialspoint.com/batch_script/batch_script_strings.htm. but i can get it. i modify your example and run it but nothing happens
- @For /F "Tokens=2 Delims=<>" %%G In ( '^""%__AppDir__%findstr.exe" /IRC:"^#include[\ ]*<.*\.h>" "test.txt"^"' )Do @"%__AppDir__%xcopy exe" "C:\Program Files (x86)\Arduino\libraries\%%G" "C:\Program Files (x86)\Arduino\libraries" /Y>NUL 2>&1
- @OscarCastano, of course nothing appears to happen. You're using the same location for your source and destination directories! You may also require to run 'As administrator' if the destination path is protected from normal user access.
- well.... i have no words... your first example works great! it just solves the problem that ARDUINO IDE has and by some reason they dont fix it. you write some code, and share it or need it some time later just to find you need some libraries you don't has any more or you don't remember which version you have before!