I create installer file by NSIS.I want get installation directory by commandline.
I used syntax such as /D=E:\ or /D=E: but installation directory any changed.
Use /D (It must be the last token on the commandline and it must be a unquoted absolute path):
MySetup.exe /S /D=C:\Program Files\Foo Bar\Baz
If you want to allow installs to the root of a volume you need to put AllowRootDirInstall true in your script.
/D switch is intended for Silent installs.
Use InstallDir from your script to change directory.
I create uninstaller file but uninstaller can not clean files.
ExeWait '"$INSTDIR\Farayand\FarayandLibrary\dokanctl.exe" /r a' $0
RMDir /r $INSTDIR\Farayand\FarayandLibrary
RMDir $INSTDIR\Farayand
${if} ${RunningX64}
${DisableX64FSRedirection}
Delete $SYSDIR\drivers\dokan.sys
${EnableX64FSRedirection}
${Else}
Delete $SYSDIR\drivers\dokan.sys
${ElseIF}
dokan.sys cleaned when uninstall run.but farayandLibrary folder and content in folder dont remove.
Related
I used the dir command in the Windows command prompt to display the list of files/folders in a directory. I noticed that it did not display a folder named tmp. However, I tried running dir in Powershell, and it did display the tmp folder in the output. Why did the Windows command prompt hide this folder from me?
You need to add the "show hidden" option to dir:
dir /a
this should do the trick.
source
Try attrib /?. EG attrib c:\folder\tmp /d.
A leading dot means nothing in Windows.
I am using 7z command line executable to zip files, but I see that while adding to an archive the path of the files is preserved in the archive.
So if I do
7z a -tzip myzip.zip dir1\dir2\*
the archive myzip.zip will contain the path dir1\dir2. I do not want this, rather I want only the files to be added to the zip file without the paths being preserved.
I searched quite a bit but do not seem to find any way of doing this, maybe I am missing something obvious?
Thanks
Just add a dot before the path, i.e.
7z a -tzip -r myzip.zip .\Relative\Dir\*
Give the full path. That should work. Not the relative path from the current location.
For example, I give the below, where I want the files in the man5 folder to be archived.
$ 7z a -tzip myzip.zip /home/pradeeban/Desktop/man4/man5/*
The zip contained only the files, without the directories.
Then I gave only the relative path. It had the directories, inside the zip.
$ 7z a -tzip myzip.zip Desktop/man4/man5/*
Tried with Linux (Ubuntu 12.04). Not sure whether that differs from Windows.
I discovered a way to do this by using a relative path:
7z a -tzip myzip.zip %CD%\dir1\dir2\*
%CD% is how you get the current path in a Windows batch file, but it also works from the command line. More info about Capturing the current directory from a batch file.
As explained in related question in 7-zip user FAQ, 7z stores paths relative to working directory, so you will need to first cd to desired top-level directory for archive and run 7-zip from here.
cd dir1\dir2\
7z a -tzip myzip.zip *
If you run it from script and don't want to affect it with changed directory, use directory push/pop facilities available in your shell of choice or run cd+7-zip in spawned process to avoid affecting your entire script with changed directory. For example, using Windows' start that would be:
start /D dir1\dir2\ /wait 7z a -tzip myzip.zip *
This worked for me
Consider folder structure like C:\Parent\SubFolders..... And you want to create parent.zip which will contain all files and folders C:\Parent without parent folder [i.e it will start from SubFolders.....]
cd /D "C:\Parent"
"7z.exe" a Parent.zip "*.*" -r
This will create Parent.zip in C:\Parent
I have this batch file
#ECHO OFF
ECHO Please Enter Path of the View, you want to update in double quotes.
SET /P variable=
SET ECLIPSE=C:\Users\gdeep\Desktop\TED-4.3.0.20110512190809.lnk
SET WORKSPACE=C:\Users\gdeep\DevCodebase_2
:LOOP
ECHO Press 'g' for Graphical Interface and 'c' for Command line.
SET /P answer=
IF /I "%answer%"=="g" GOTO GRAPHICAL
IF /I "%answer%"=="c" GOTO COMMANDLINE
ECHO Invalid Input. Please Try Again.
GOTO LOOP
:GRAPHICAL
cleartool update -graphical %variable%
GOTO CONTINUE
:COMMANDLINE
cleartool update %variable%
GOTO CONTINUE
:CONTINUE
FOR /D %%i IN (%WORSPACE%) DO RD /S /Q "%%i" DEL /Q "%WORSPACE%\*.*"
START %ECLIPSE% -data %WORSPACE%
D:
chdir "%variable%"\v4electronics
ECHO Please Ensure that Server is killed.
PAUSE
mvn clean install -Dmaven.test.skip=true -Dresource.minify.skip=true
For deleting all the projects i used
FOR /D %%i IN (%WORSPACE%) DO RD /S /Q "%%i" DEL /Q "%WORSPACE%\*.*"
Can anyone explain this to me? I copied it from somewhere and don't want to use it without understanding.
Problem with using above command is althout it seem to work, i see
The system cannot find the file specified.
The system cannot find the path specified.
as the output.
Also, the way i am deleting, will it be equivalent to if i delete them from the eclipse, by select all projects and deleting?
Another problem here is that when i have .
mvn clean install -Dmaven.test.skip=true -Dresource.minify.skip=true
in the end it works fine, otherwise, if there is any other command after it, those commands doesn't run.
After this, I then wanna import all maven projects from the Clearcase %Variable%.
And i want to do that by command line only. Can you help me with that?
Thanks for your help.
Appreciate your time.
Please correct me, If I'm wrong. I understand that you're in the MS-Windows environment.
Regarding to the question about if there is another command after the "mvn ...", they are ignored.
I use the "call" as the following: -
cd project1
call mvn clean install
cd project2
call mvn clean install
I hope this may help.
Regards,
Charlee Ch.
cleartool update -graphical %variable%
This will update a view, opening a GUI during the update (if -graphical is used) for displaying the number of files unchanged, new, modified, deleted or hijacked during this update.
See cleartool update man page.
The graphical update will let you specify how you want hijacked files and timestamps handled by said update:
Click the Advanced tab and change default options for the Update Tool.
If you need to resolve hijacked files, select a method. You have these choices:
Leave hijacked files in place
Rename the hijacked files and load the selected version from the VOB
Delete hijacked files and load the selected version from the VOB
You can also select a method for handling timestamps. You have these choices:
Set file times to current time
Set file times to version creation time
You need to enter the path of the root directory of a snapshot view: see "To update snapshot views"
FOR /D %%i IN (%WORSPACE%) DO RD /S /Q "%%i" DEL /Q "%WORSPACE%\*.*"
This will completely empty Eclipse workspace, projects and its .metadata folder, forcing Eclipse to recreate a workspace from scratch.
It seems a bit extreme, and would basically be the same as
RD /S /Q "%WORSPACE%"
(Eclipse would recreate "%WORSPACE%" when launched with -data %WORSPACE%)
I'm sending commands to a remote computer in order to have it copy a file.
I want the file to be copied, but not to overwrite the previous file with the same name (if it exists).
I also need the command to run without any prompts (xcopy likes to prompt whether the target name I've specified is file or directory, and it will also prompt about overwriting a file).
I have good results with xcopy /d.
It will copy NEWER files, and since we can assume that existing files have same time-stamp, you will copy only files that don't exist.
just in case anyone else finds this:
robocopy x:\sourcefolder Y:\destfolder /s /e /r:0 /z
much better than xcopy, even gives you a table at the end informing of any failed or skipped files. Doesn't prompt to not overwrite.
Well, there's a certain remedy! It has helped me with saving much of my effort and time on Win10 while writing a setup for our product demo.
Just try to use piping:
#ECHO N|COPY /-Y SourceFiles Destination
As an example I used this piece of code so that I would have a clean gentle quiet and safe copy!
#FOR /D %%F in ("FooPath") DO #(
#ECHO N|COPY /-Y ^"%%~npdxF\*.*^" ^"GooPath^" 3>NUL 2>NUL >NUL
)
where obviously FooPath is the source and GooPath is the destination.
Enjoy!
(main source: https://ss64.com/nt/copy.html)
Following command copy files and folder but not override file if already exist.
xcopy "*.*" "C:\test\" /s /y /d
No way to make it NOT overwrite as far as I know. but /Y will make it overwrite. and /I will get rid of the file/dict prompt. See xcopy /? for all options
You can also use the replace command. It has two modes: to add files that don't exist there or replace files that do exist. You want the previous mode:
replace <path1> <path2> /A
I had to copy AND rename files, so I got the prompt about creating a file or a directory.
This is the, rather "hackish" way I did it:
ECHO F | XCOPY /D "C:\install\dummy\dummy.pdf" "C:\Archive\fffc810e-f01a-47e8-a000-5903fc56f0ec.pdf"
XCOPY will use the "F" to indicate it should create the target as a file:
C:\install>ECHO F | XCOPY /D "C:\install\dummy\dummy.html" "C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html"
Does C:\Archive\aa77cd6e-1d19-4eb4-b2a8-3f8fe60daf00.html specify a file name or directory name on the target
(F = file, D = directory)? F
C:\install\dummy\dummy.html
1 File(s) copied
I've also verified this command leaves existing files alone. (You should too :-)
I am using XCOPY in a post-build event to copy compiled DLLs from their output folders to the main app's output folder. The DLLs are being copied to a "Modules" subfolder in the main app output folder, like this:
xcopy "$(TargetPath)" "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\"
The command works fine if the Modules folder exists, but I have discovered during testing that if the folder doesn't exist, XCOPY doesn't create it, and the command fails.
Is there an XCOPY switch that will cause the folder to be created if it doesn't exist? If not, what would I add to my post-build event to create the folder if it doesn't exist? Thanks for your help.
Answer to use "/I" is working but with little trick - in target you must end with character \ to tell xcopy that target is directory and not file!
Example:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder" /F /R /Y /I
does not work and return code 2, but this one:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder\" /F /R /Y /I
Command line arguments used in my sample:
/F - Displays full source & target file names
/R - This will overwrite read-only files
/Y - Suppresses prompting to overwrite an existing file(s)
/I - Assumes that destination is directory (but must ends with \)
I tried this on the command line using
D:\>xcopy myfile.dat xcopytest\test\
and the target directory was properly created.
If not you can create the target dir using the mkdir command with cmd's command extensions enabled like
cmd /x /c mkdir "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\"
('/x' enables command extensions in case they're not enabled by default on your system, I'm not that familiar with cmd)
use
cmd /?
mkdir /?
xcopy /?
for further information :)
I hate the PostBuild step, it allows for too much stuff to happen outside of the build tool's purview. I believe that its better to let MSBuild manage the copy process, and do the updating. You can edit the .csproj file like this:
<Target Name="AfterBuild" Inputs="$(TargetPath)\**">
<Copy SourceFiles="$(TargetPath)\**" DestinationFiles="$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\**" OverwriteReadOnlyFiles="true"></Copy>
</Target>
Use the /i with xcopy and if the directory doesn't exist it will create the directory
for you.
You could use robocopy:
robocopy "$(TargetPath)" "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules" /E
Simple short answer is this:
xcopy /Y /I "$(SolutionDir)<my-src-path>" "$(SolutionDir)<my-dst-path>\"
Simply type in quotes slash delimiter "/" and add to final destination 2 back-slashes "\\"
It's will be create New folders to copy and copy need file(-s).
xcopy ".\myfile" "....folder1/folder2/destination\\"
I tried this on the command.it is working for me.
if "$(OutDir)"=="bin\Debug\" goto Visual
:TFSBuild
goto exit
:Visual
xcopy /y "$(TargetPath)$(TargetName).dll" "$(ProjectDir)..\Demo"
xcopy /y "$(TargetDir)$(TargetName).pdb" "$(ProjectDir)..\Demo"
goto exit
:exit
Try /E
To get a full list of options: xcopy /?