यहाँ एक अजीब है। मैं विंडोज़ 10 पर 7-ज़िप [64] संस्करण 16.04 चला रहा हूं।
मेरे पास निम्न शक्तियाँ लिपि हैं। $ zipper प्रोग्राम 7z.exe पर सेट है, स्क्रिप्ट ठीक चलती है।
अगर मैं $ zipper प्रोग्राम को 7zg.exe में बदलता हूं तो स्क्रिप्ट में दूसरी बार इसे बनाते समय मुझे एक त्रुटि मिलती है। यह शिकायत करता है कि Gl.7z संग्रह पहले से मौजूद है!
जैसा कि आप देख सकते हैं, मैं दूसरे फोल्डर (शरलॉक) के लिए कमांड को "ए" से "यू" (अपडेट) में बदलने की कोशिश कर रहा हूं, लेकिन इससे कोई फायदा नहीं हुआ। (मुझे 7z.exe के लिए ऐसा करने की ज़रूरत नहीं है)।
क्या देता है, और 7zg.exe 7z.exe से अलग क्यों है?
clear-host
Set-Location $PSScriptRoot # set current directory to location of script
[string]$zipper = "$($Env:ProgramFiles)\7-Zip\7z.exe"
[Array]$archive = "GL.7z"
[Array]$flags = "a","-t7z","-mx1","-mmt=on","-ms=on", "-r"
[Array]$skip = "-xr!.svn","-xr!.vs","-xr!bin","-xr!obj","-xr!Properties","-x!*.csproj","-x!*.user","-x!*.sln","-x!*.suo","-x!web.config","-x!web.*.config"
if (Test-Path $archive) {
Remove-Item $archive
}
$startDate = Get-Date
Write-Output "starting at: $startDate"
$ElapsedTime = [System.Diagnostics.Stopwatch]::StartNew()
Write-Output "Toby............................................................................................"
[Array]$in = "..\Toby"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
Write-Output "Sherlock............................................................................................"
[Array]$flags = "u","-t7z","-mx1","-mmt=on","-ms=on", "-r"
[Array]$in = "..\Sherlock"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
exit
Write-Output "Watson............................................................................................"
[Array]$in = "..\Watson"
[Array]$wskip = "-xr!.svn","-xr!.svn", "-xr!obj", "-x!*.md", "-x!watson.log*.json", "-x!*.sln", "-x!*.suo", "-x!*.njsproj", "-x!*.dat", "-x!*.md", "-x!*LICENSE*", "-x!*.yml", "-x!*.git*", "-x!.npm*", "-x!*.c", "-x!*.txt", "-x!Makefile", "-x!.jshint*", "-x!readme*"
[Array]$cmd = $flags + $archive + $in + $wskip
& $zipper $cmd
Write-Output "Doc............................................................................................"
[Array]$in = "..\doc"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
Write-Output "Setup............................................................................................"
[Array]$in = "..\setup"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
exit
Write-Output "Base Maps Files............................................................................................"
[Array]$in = "..\BaseMaps"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
write-host "Total Elapsed Time: $($ElapsedTime.Elapsed.ToString())"
# list files:
# &$zipper l $archive
# 7z e archive.zip -oc:\soft *.cpp -r
1
'7z' में 'G' का अर्थ है जी यूआई संस्करण, जबकि आपको बैच संस्करण की आवश्यकता होती है।
—
harrymc
मैं एक GUI देखना चाहता था, क्योंकि इसमें काफी समय लगता है। बैच संस्करण @harrymc का नाम क्या है?
—
Dr.YSG
इसे कहते हैं
—
harrymc
7z.exe
।
हाँ, यह वही है जो मैं पहले से ही काम कर रहा था। 7z.exe। क्या आपको यह अजीब नहीं लगता कि यह एक ही कमांड तर्क देता है लेकिन एक ही काम नहीं करता है? मेरे लिए 7z.exe एक आदिम तरीके से काम करता है। मैं उम्मीद कर रहा था कि मैं 7zg.exe के कई चालान के साथ एक ही काम कर सकता हूं
—
Dr.YSG
हां, इसकी संभावना कम ही लगती है। इसलिए मैंने सिर्फ कोशिश की
—
harrymc
7zg a test.7z file1
और फिर 7zg a test.7z file2
और उन्होंने ठीक काम किया। मुझे लगता है कि आपको स्क्रिप्ट को डीबग करना चाहिए ( उपयोगी लिंक )।